ComenzarEmpieza gratis

Validación cruzada con sklearn

Como se explicó en el Capítulo 2, el sobreajuste del conjunto de datos es un problema común en analítica. Ocurre cuando un modelo aprende los datos “de memoria”: obtiene un rendimiento excelente en el conjunto con el que se entrenó, pero no consigue generalizar fuera de él.

Aunque la técnica de train/test split que aprendiste en el Capítulo 2 ayuda a evitar que el modelo sobreajuste el conjunto de entrenamiento, el ajuste de hiperparámetros puede acabar sobreajustando la parte de test, ya que consiste en ajustar el modelo para obtener los mejores resultados de predicción en ese conjunto. Por ello, se recomienda validar el modelo en distintos conjuntos de prueba. La validación cruzada K-fold nos permite hacerlo:

  • divide el conjunto de datos en un conjunto de entrenamiento y otro de prueba
  • ajusta el modelo, hace predicciones y calcula una métrica (puedes especificar si quieres accuracy, precision, recall…)
  • repite el proceso un total de k veces
  • devuelve la media de las 10 puntuaciones

En este ejercicio, aplicarás validación cruzada a nuestro conjunto de datos y evaluarás los resultados con la función cross_val_score.

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

  • Importa la función para implementar validación cruzada, cross_val_score(), del módulo sklearn.model_selection.
  • Imprime la puntuación de validación cruzada de tu modelo, especificando 10 particiones con el hiperparámetro cv.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# Import the function for implementing cross validation
from sklearn.model_selection import ____

# Use that function to print the cross validation score for 10 folds
print(____(model,features,target,____=10))
Editar y ejecutar código