Poda del árbol
El sobreajuste es un problema clásico en analítica, especialmente con el algoritmo de árboles de decisión. Cuando el árbol crece por completo, puede dar predicciones muy precisas para la muestra de entrenamiento, pero no ser igual de preciso en el conjunto de prueba. Por eso, el crecimiento del árbol de decisión se suele controlar mediante:
- “Poda” del árbol y establecimiento de un límite en la profundidad máxima que puede tener.
- Limitación del número mínimo de observaciones en una hoja del árbol.
En este ejercicio, vas a:
- podar el árbol y limitar su crecimiento a 5 niveles de profundidad
- ajustarlo a los datos de empleados
- evaluar los resultados de predicción tanto en los conjuntos de entrenamiento como de prueba.
Las variables features_train, target_train, features_test y target_test ya están disponibles en tu espacio de trabajo.
Este ejercicio forma parte del curso
Analítica de RR. HH.: Predicción de rotación de empleados en Python
Instrucciones del ejercicio
- Inicializa
DecisionTreeClassifierlimitando la profundidad del árbol a 5. - Ajusta el modelo de árbol de decisión usando las
featuresy eltargetdel conjunto de entrenamiento. - Comprueba la precisión de las predicciones tanto en el conjunto de entrenamiento como en el conjunto de prueba.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Initialize the DecisionTreeClassifier while limiting the depth of the tree to 5
model_depth_5 = DecisionTreeClassifier(____=5, random_state=42)
# Fit the model
____.fit(features_train,target_train)
# Print the accuracy of the prediction for the training set
print(____.____(features_train,target_train)*100)
# Print the accuracy of the prediction for the test set
print(model_depth_5.score(____,____)*100)