Desenvolver e testar o melhor modelo
No Capítulo 3, você descobriu que os seguintes parâmetros permitem obter um modelo melhor:
max_depth = 8,min_samples_leaf = 150,class_weight = "balanced"
Neste capítulo, você viu que alguns recursos têm impacto desprezível. Você percebeu que dá para obter previsões precisas usando apenas um pequeno conjunto de recursos selecionados e relevantes e atualizou seus conjuntos de treino e teste, criando as variáveis features_train_selected e features_test_selected.
Com todas essas informações, agora você vai desenvolver o melhor modelo para prever turnover de funcionários e avaliá-lo usando as métricas apropriadas.
As variáveis features_train_selected e features_test_selected estão disponíveis no seu ambiente, e as funções recall_score e roc_auc_score já foram importadas para você.
Este exercício faz parte do curso
HR Analytics: prevendo rotatividade de funcionários em Python
Instruções do exercício
- Inicialize o melhor modelo usando os parâmetros fornecidos na descrição.
- Ajuste o modelo usando apenas os recursos selecionados do conjunto de treino.
- Faça a previsão com base nos recursos selecionados do conjunto de teste.
- Imprima as pontuações de acurácia, recall e ROC/AUC do modelo.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Initialize the best model using parameters provided in description
model_best = DecisionTreeClassifier(____=____, ____=____, ____=____, random_state=42)
# Fit the model using only selected features from training set: done
model_best.fit(____, target_train)
# Make prediction based on selected list of features from test set
prediction_best = model_best.____(____)
# Print the general accuracy of the model_best
print(____.score(features_test_selected, target_test) * 100)
# Print the recall score of the model predictions
print(____(target_test, prediction_best) * 100)
# Print the ROC/AUC score of the model predictions
print(roc_auc_score(target_test, ____) * 100)