Equilibrar clases
Esto puede afectar mucho a los resultados de predicción, como muestra la diferencia entre las métricas recall y accuracy. Para resolver el desbalance, normalmente se asignan pesos iguales a cada clase. Usando el argumento class_weight en el DecisionTreeClassifier de sklearn, se pueden hacer las clases "balanced".
Vamos a corregir nuestro modelo resolviendo su problema de desbalance:
- primero, vas a configurar un modelo con clases equilibradas
- después, lo ajustarás a los datos de entrenamiento
- por último, comprobarás su precisión en el conjunto 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 el clasificador de árbol de decisión, poda tu árbol limitando su profundidad máxima a 5 y equilibra los pesos de las clases.
- Ajusta el nuevo modelo.
- Imprime el
scorede precisión de la predicción (en puntos porcentuales) para el conjunto de prueba.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Initialize the DecisionTreeClassifier
model_depth_5_b = DecisionTreeClassifier(____=5,class_weight="____",random_state=42)
# Fit the model
model_depth_5_b.____(features_train,target_train)
# Print the accuracy of the prediction (in percentage points) for the test set
print(model_depth_5_b.____(features_test,____)*100)