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
Python ile Zaman Serisi Verileri için Machine Learning
kursunun bir parçasıdırEgzersiz 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ı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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)