Validación cruzada
La validación cruzada es una técnica que intenta estimar el rendimiento del modelo en un conjunto de validación. Se usa para asegurar que el rendimiento en test no se deba a un problema particular en el reparto de los datos. En este ejercicio, usarás implementaciones de sklearn para ejecutar una validación cruzada K-fold con el módulo KFold() y así evaluar la precisión (precision) y el recall de un árbol de decisión.
X_train, y_train, X_test, y_test están disponibles en tu espacio de trabajo. pandas como pd, numpy como np y sklearn también están disponibles. KFold() y cross_val_score() de sklearn.model_selection también están disponibles.
Este ejercicio forma parte del curso
Predicción del CTR con Machine Learning en Python
Instrucciones del ejercicio
- Crea un clasificador de árbol de decisión.
- Configura una validación cruzada K-Fold con cuatro particiones y asígnala a
k-fold. - Usa
k_foldpara ejecutar la validación cruzada concross_val_score()y evaluar la precision y el recall de tu modelo (¡y no usarrecall_score()niprecision_score()!).
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Create model
clf = ____
# Set up k-fold
k_fold = ____(n_splits = 4, random_state = 0, shuffle = True)
# Evaluate precision and recall for each fold
precision = ____(
clf, X_train, ____, cv = ____, scoring = 'precision_weighted')
recall = ____(
clf, X_train, ____, cv = ____, scoring = 'recall_weighted')
print("Precision scores: %s" %(precision))
print("Recall scores: %s" %(recall))