ComenzarEmpieza gratis

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

Ver curso

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 score de 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)
Editar y ejecutar código