Desarrolla y prueba el mejor modelo
En el Capítulo 3, viste que los siguientes parámetros permiten obtener un modelo mejor:
max_depth = 8,min_samples_leaf = 150,class_weight = "balanced"
En este capítulo, descubriste que algunas variables tienen un impacto despreciable. Te diste cuenta de que podías obtener predicciones precisas usando solo un pequeño número de variables seleccionadas y relevantes, y actualizaste tus conjuntos de entrenamiento y prueba en consecuencia, creando las variables features_train_selected y features_test_selected.
Con toda esta información, ahora vas a desarrollar el mejor modelo para predecir la rotación de empleados y evaluarlo con las métricas adecuadas.
Las variables features_train_selected y features_test_selected están disponibles en tu espacio de trabajo, y las funciones recall_score y roc_auc_score ya se han importado por ti.
Este ejercicio forma parte del curso
Analítica de RR. HH.: Predicción de rotación de empleados en Python
Instrucciones del ejercicio
- Inicializa el mejor modelo usando los parámetros indicados en la descripción.
- Ajusta el modelo usando solo las variables seleccionadas del conjunto de entrenamiento.
- Realiza una predicción basada en las variables seleccionadas del conjunto de prueba.
- Imprime las puntuaciones de exactitud, recall y ROC/AUC del modelo.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)