Validación cruzada K-fold
Vas a empezar practicando con la validación cruzada K-fold, la más utilizada.
Trabajarás con datos de la competición de Kaggle "Two sigma connect: rental listing inquiries". El problema consiste en una clasificación multiclase de los anuncios de alquiler en 3 clases: bajo interés, interés medio y alto interés. Para acelerar la ejecución, usarás una submuestra de 1.000 observaciones.
Necesitas implementar una estrategia de validación K-fold y comprobar el tamaño de cada pliegue obtenido. El DataFrame train ya está disponible en tu espacio de trabajo.
Este ejercicio forma parte del curso
Cómo ganar una competición de Kaggle con Python
Instrucciones del ejercicio
- Crea un objeto
KFoldcon 3 pliegues. - Recorre cada división usando el objeto
kf. - En cada división, selecciona los pliegues de entrenamiento y de prueba usando
train_indexytest_index.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Import KFold
from sklearn.model_selection import KFold
# Create a KFold object
kf = ____(n_splits=____, shuffle=True, random_state=123)
# Loop through each split
fold = 0
for train_index, test_index in ____.____(train):
# Obtain training and testing folds
cv_train, cv_test = train.iloc[____], train.iloc[____]
print('Fold: {}'.format(fold))
print('CV train shape: {}'.format(cv_train.shape))
print('Medium interest listings in CV train: {}\n'.format(sum(cv_train.interest_level == 'medium')))
fold += 1