Zacznij terazZacznij za darmo

Time K-fold

Pamiętasz konkurs „Store Item Demand Forecasting Challenge", w którym masz dostęp do danych sprzedaży w sklepach i musisz prognozować przyszłą sprzedaż?

To konkurs oparty na danych szeregów czasowych, dlatego należy zastosować czasową walidację krzyżową K-fold. Twoim zadaniem jest stworzenie tej strategii walidacji i sprawdzenie, czy działa poprawnie.

Zwróć uwagę, że DataFrame train jest już dostępny w twoim środowisku pracy, a klasa TimeSeriesSplit została zaimportowana z sklearn.model_selection.

To ćwiczenie jest częścią kursu

Zwycięstwo w konkursie Kaggle w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz obiekt TimeSeriesSplit z 3 podziałami.
  • Posortuj dane treningowe według kolumny "date", aby zastosować czasowy K-fold.
  • Iteruj po każdym podziale czasowym, używając obiektu time_kfold.
  • Dla każdego podziału wybierz foldy treningowe i testowe, korzystając z train_index i test_index.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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
Edytuj i uruchom kod