Por exemplo, para prever a tarifa paga por aqueles que foram para o Titanic, precisamos duma implementação deste tipo.
<aside> 💡 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. Enquanto uma Decision Tree Classifier é mais apropriada para problemas de classificação, onde o objetivo é prever uma classe ou categoria específica.
</aside>
Primeiro temos que definir o input (x) e a target feature.
x = df.drop(['Fare'], axis=1) #input features
y = df['Fare'].to_frame() #target feature
Agora, temos que separar uma parte dos dados para utilizar nos testes.
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
# Retirar as features categóricas do dados de input
x_train = x_train.drop(['Name', 'Sex', 'Age', 'Ticket', 'Cabin', 'Embarked'], axis=1)
x_test = x_test.drop(['Name', 'Sex', 'Age', 'Ticket', 'Cabin', 'Embarked'], axis=1)
Agora temos de fazer fit (ou seja, construir a árvore de decisão) e fazer a previsão desejada:
# Fazer fit usando os dados para treino
clf.fit(x_train, y_train)
DecisionTreeRegressor(random_state=2021)
# Fazer a previsão
predictions = clf.prefict(x_test)
predictions
==> array([18.745, 7.233, 10.5, 29.7, ...])
Agora temos previsões da tarifa para o conjunto de testes (e sabemos o valor real da tarifa, pois está armazenado na variável y_test).