Cross-validation nedir? Zaman serisi verisinde neden standart k-fold kullanılmaz?

Cevap

Cross-validation, veriyi birden çok kez farklı train/validation parçalarına bölüp modeli her seferinde yeniden eğiterek performansı daha güvenilir tahmin etme yöntemidir. Tek bir split'in şansa bağlı sonucunu ortalamayla dengeler.

Türleri

  • k-fold: Veri k parçaya bölünür, her parça bir kez validation olur. Genelde k=5 veya 10.
  • Stratified k-fold: Her fold'da sınıf oranları korunur. Dengesiz sınıflandırmada varsayılan olmalı.
  • Group k-fold: Aynı gruba (kullanıcı, hasta) ait örnekler aynı fold'da kalır. Leakage'ı önler.
  • Nested CV: İç döngü hiperparametre seçer, dış döngü performansı tarafsız ölçer.
  • TimeSeriesSplit: Zaman sırasını koruyan, ileriye doğru genişleyen pencereler.

Zaman serisinde neden k-fold olmaz?

Standart k-fold veriyi karıştırır. Model gelecekteki verilerle eğitilip geçmişi tahmin eder. Bu bir look-ahead leakage'dır ve skorlar gerçekçi olmayacak kadar iyi çıkar. Ayrıca ardışık gözlemler birbirine bağımlıdır (autocorrelation).

from sklearn.model_selection import TimeSeriesSplit
tscv = TimeSeriesSplit(n_splits=5, gap=7)  # gap: sızıntıyı azaltmak için boşluk
for tr_idx, va_idx in tscv.split(X):
    model.fit(X[tr_idx], y[tr_idx])
    print(model.score(X[va_idx], y[va_idx]))

Önemli kural: Ölçekleme, imputation, feature selection gibi tüm ön işleme adımları her fold içinde sadece train kısmına fit edilmelidir. Bunu Pipeline ile yapmak en güvenli yoldur.

  1. Hiperparametre optimizasyonunu nasıl yaparsınız? Grid search, random search ve Bayesian optimization'ı karşılaştırın.OrtaMakine ÖğrenmesiYapay Zeka
  2. Feature scaling nedir? Standardization ile normalization arasındaki fark nedir ve hangi modeller ölçeklendirme gerektirir?KolayMakine ÖğrenmesiYapay Zeka
  3. PCA (Principal Component Analysis) nasıl çalışır? Ne zaman kullanılır, ne zaman kullanılmamalıdır?OrtaMakine ÖğrenmesiYapay Zeka
  4. NumPy kullanarak k-means algoritmasını sıfırdan yazın. k değerini nasıl seçersiniz ve algoritmanın sınırlamaları nelerdir?ZorMakine ÖğrenmesiYapay Zeka
  5. XGBoost ve LightGBM klasik gradient boosting'den hangi açılardan farklıdır? En önemli hiperparametreleri nelerdir?ZorMakine ÖğrenmesiYapay Zeka
  6. Random Forest ile Gradient Boosting arasındaki fark nedir? Bagging ve boosting'i karşılaştırın.OrtaMakine ÖğrenmesiYapay Zeka

Bu konuda başka bir soru biliyor musun?

Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.

Soru ekle