ComenzarEmpieza gratis

Time K-fold

¿Recuerdas el "Store Item Demand Forecasting Challenge", donde te dan datos de ventas por tienda y artículo y tienes que predecir las ventas futuras?

Es una competición con datos de series temporales. Por tanto, deberías aplicar validación cruzada con K-fold temporal. Tu objetivo es crear esta estrategia de validación y asegurarte de que funciona como esperas.

Ten en cuenta que el DataFrame train ya está disponible en tu espacio de trabajo y que TimeSeriesSplit se ha importado desde sklearn.model_selection.

Este ejercicio forma parte del curso

Cómo ganar una competición de Kaggle con Python

Ver curso

Instrucciones del ejercicio

  • Crea un objeto TimeSeriesSplit con 3 particiones.
  • Ordena los datos de train por la columna "date" para aplicar el K-fold temporal.
  • Recorre cada partición temporal usando el objeto time_kfold.
  • En cada partición, selecciona los conjuntos de entrenamiento y prueba usando train_index y test_index.

Ejercicio interactivo práctico

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

# Create TimeSeriesSplit object
time_kfold = TimeSeriesSplit(n_splits=____)

# Sort train data by date
train = train.sort_values(____)

# Iterate through each split
fold = 0
for train_index, test_index in ____.____(____):
    cv_train, cv_test = ____.____[____], ____.____[____]
    
    print('Fold :', fold)
    print('Train date range: from {} to {}'.format(cv_train.date.min(), cv_train.date.max()))
    print('Test date range: from {} to {}\n'.format(cv_test.date.min(), cv_test.date.max()))
    fold += 1
Editar y ejecutar código