Time K-fold
Lembra do "Store Item Demand Forecasting Challenge", em que você recebe dados de vendas por loja e item e precisa prever as vendas futuras?
É uma competição com dados de séries temporais. Por isso, deve-se aplicar validação cruzada do tipo time K-fold. Seu objetivo é criar essa estratégia de validação cruzada e garantir que ela funciona como esperado.
Note que o DataFrame train já está disponível no seu workspace e que TimeSeriesSplit foi importado de sklearn.model_selection.
Este exercício faz parte do curso
Vencendo uma competição do Kaggle em Python
Instruções do exercício
- Crie um objeto
TimeSeriesSplitcom 3 divisões. - Ordene os dados de treino pela coluna "date" para aplicar o time K-fold.
- Faça um loop sobre cada divisão temporal usando o objeto
time_kfold. - Para cada divisão, selecione os conjuntos de treino e teste usando
train_indexetest_index.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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