Özet - Cross-validation
- Makine Öğrenmesi kursu
- Orta seviye
- Ders 18/112
- 6 dk
Bu grupta k-fold cross-validation ve cross_val_score'u öğrendin.
Özet: çapraz doğrulama
Bu grupta:
- CV tek bölmenin şansını ortadan kaldırır; sonuç ortalama ± standart sapmadır.
KFold,StratifiedKFold,GroupKFold,TimeSeriesSplit: bölücü verinin gerçek kullanımını taklit etmeli.cross_val_score,cross_validate(çoklu metrik, eğitim skoru),cross_val_predict(katman dışı tahmin).- Tekrarlı CV kararlılık, iç içe CV seçim dahil dürüst skor verir.
Test kümesi CV'den sonra da yalnızca bir kez, en sonda kullanılır.
Uygulama Zaman serisi CV
20 adımlık X için TimeSeriesSplit(n_splits=4) katmanlarını gez. Her satırda eğitim kümesinin boyutunu ve doğrulama indekslerinin ilk ve son değerini yazdır.
Başlangıç kodu
import numpy as np
from sklearn.model_selection import TimeSeriesSplit
X = np.arange(20).reshape(-1, 1)
# buraya yazÖrnek çözüm
import numpy as np
from sklearn.model_selection import TimeSeriesSplit
X = np.arange(20).reshape(-1, 1)
for egitim, dogrulama in TimeSeriesSplit(n_splits=4).split(X):
print(len(egitim), dogrulama[0], dogrulama[-1])Beklenen çıktı
4 4 7 8 8 11 12 12 15 16 16 19
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Müşteri başına birden çok işlem içeren veride doğru bölücü hangisidir?
- KFold
- LeaveOneOut
- Bölmeye gerek yok
- GroupKFold (müşteri kimliğine göre) Doğru cevap
Açıklama: Aynı müşterinin işlemleri ayrı katmanlara düşerse model müşteriyi ezberler.
2 Zaman sırasını koruyan bölücüyü kullan.
cv = ____(n_splits=5)
cv = TimeSeriesSplit(n_splits=5)
Açıklama: TimeSeriesSplit her katmanda yalnızca geçmişle eğitir.
3 Çıktıları eşleştir.
| Kavram | Anlamı |
|---|---|
cross_val_score |
Skor dizisi |
cross_validate |
Sözlük |
cross_val_predict |
Tahmin dizisi |
get_n_splits |
Katman sayısı |