Karıştırmalı çapraz doğrulama
Hatırlayacağın gibi, çapraz doğrulama verilerini birden fazla kez eğitim ve test kümelerine bölme işlemidir. Her seferinde farklı bir eğitim ve test kümesi seçersin. Bu egzersizde, önceki bölümdeki şirket değeri verileri üzerinde geleneksel bir ShuffleSplit çapraz doğrulaması yapacaksın. Zaman serisi verileri için hangi değişikliklerin gerektiğini ileride ele alacağız. Kullanacağımız veri, birkaç büyük şirketin aynı tarihsel fiyat verileridir.
Çalışma alanında Doğrusal regresyon nesnesinin (model) bir örneği ve puanlama için r2_score() fonksiyonu mevcut. Ayrıca veriler X ve y dizilerinde saklanıyor. Sonuçları görselleştirmene yardımcı olmak için bir yardımcı fonksiyon (visualize_predictions()) da sağladık.
Bu egzersiz, kursun bir parçasıdır
Python ile Zaman Serisi Verileri için Machine Learning
Egzersiz talimatları
- 10 bölünmeli bir ShuffleSplit çapraz doğrulama nesnesi başlat.
- Bu nesneyi kullanarak ÇD bölünmelerini dolaş. Her yinelemede:
- Eğitim indekslerini kullanarak bir model eğit.
- Test indekslerini kullanarak tahminler üret, bu tahminlerle modeli (\(R^2\)) puanla ve sonuçları topla.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Import ShuffleSplit and create the cross-validation object
from sklearn.model_selection import ShuffleSplit
cv = ____(____, random_state=1)
# Iterate through CV splits
results = []
for tr, tt in cv.____(X, y):
# Fit the model on training data
____(X[tr], y[tr])
# Generate predictions on the test data, score the predictions, and collect
prediction = ____(X[tt])
score = r2_score(____, ____)
results.append((prediction, score, tt))
# Custom function to quickly visualize predictions
visualize_predictions(results)