<aside> 💡 Uma Decision Tree Classifier é mais apropriada para problemas de classificação, onde o objetivo é prever uma classe ou categoria específica. Enquanto uma Decision Tree Regressor é mais adequada para prever valores numéricos. Ela é capaz de mapear as características dos passageiros para estimar um valor contínuo.
</aside>
Primeiro temos que carregar o ficheiro csv e abrir como leitura
'''
Load CSV
'''
df = pd.read_csv('nome.csv')
A seguir, podemos inspecionar o dataset
'''
Inspect dataset
'''
df.columns
==> Index(['PassengerID'], 'Survived', 'Pclass', 'Name', 'Sex', 'Age'].
dtype='object')
Agora temos que definir o nosso input e nossa feature escolhida
Logo, X será uma tabela aonde cada coluna é um dado e Y será uma tabela só com a coluna da feature escolhida.
#feature escolhida => 'Survived'
x = df.frop(['Survived'], axis=1) # Tudo exceto a feature escolhida
y = df['Survived'].to_frame() # A featura escolhida
Agora, temos que separar uma pequena parte do dataset afim de o usar para testar o modelo (geralmente 25%):
x_train, x_test, y_train, y_test = train_test_split(x,y, test_size=0.25, random_state=2021)
# test_size = 0.25 => 25%
# random_state => Seed para termos sempre os mesmos resultados
Assim, teremos uma parte do dataset para treinamento e outra parte para teste do modelo.
Implementação:
Por exemplo, prever se um passageiro sobreviveria ao desastre.
Primeiro criamos uma instância do classificador e depois usamos a função fit.
clf = DecisionTreeClassifier(random_state=2021)
clf.fit(x_train, y_train)
Isto daria erro, porque este modelo não consegue lidar com dados categóricos, então devemos usar por exemplo etiquetas(label) ou One-Hot encoding.