Time K-fold
"Store Item Demand Forecasting Challenge" याद है, जिसमें आपको स्टोर-आइटम की सेल्स डेटा दी जाती है और आपको भविष्य की सेल्स प्रिडिक्ट करनी होती है?
यह एक टाइम सीरीज़ डेटा वाली प्रतियोगिता है. इसलिए, time K-fold क्रॉस-वैलिडेशन लागू करना चाहिए. आपका लक्ष्य इस क्रॉस-वैलिडेशन स्ट्रैटेजी को बनाना है और सुनिश्चित करना है कि यह अपेक्षा के अनुसार काम करे.
ध्यान दें कि train DataFrame पहले से आपके वर्कस्पेस में उपलब्ध है, और TimeSeriesSplit को sklearn.model_selection से इम्पोर्ट किया जा चुका है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Kaggle प्रतियोगिता जीतना
अभ्यास निर्देश
- 3 splits के साथ एक
TimeSeriesSplitऑब्जेक्ट बनाएँ. - time K-fold लागू करने के लिए train डेटा को "date" कॉलम के आधार पर sort करें.
time_kfoldऑब्जेक्ट का उपयोग करके प्रत्येक time split पर लूप चलाएँ.- हर split के लिए
train_indexऔरtest_indexका उपयोग करते हुए training और testing folds चुनें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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