Çapraz doğrulama

scikit-learn ile Supervised Learning

George Boorman

Core Curriculum Manager, DataCamp

Çapraz doğrulama motivasyonu

  • Model başarımı, veriyi nasıl böldüğümüze bağlıdır

  • Görülmeyen veriye genelleme yeteneğini yansıtmaz

  • Çözüm: Çapraz doğrulama!

scikit-learn ile Supervised Learning

Çapraz doğrulamanın temelleri

tablo başlıkları: bölme 1, kat 1, kat 2, kat 3, kat 4 ve kat 5

scikit-learn ile Supervised Learning

Çapraz doğrulamanın temelleri

bölme 1 test kümesi olarak ayrıldı

scikit-learn ile Supervised Learning

Çapraz doğrulamanın temelleri

kat 2-5 eğitim verisi olarak kullanıldı

scikit-learn ile Supervised Learning

Çapraz doğrulamanın temelleri

bu katlarda metriği hesapla

scikit-learn ile Supervised Learning

Çapraz doğrulamanın temelleri

Kat 2 test verisi olarak

scikit-learn ile Supervised Learning

Çapraz doğrulamanın temelleri

kat 1, 3, 4 ve 5 eğitim verisi olarak

scikit-learn ile Supervised Learning

Çapraz doğrulamanın temelleri

metriği tekrar hesapla

scikit-learn ile Supervised Learning

Çapraz doğrulamanın temelleri

üçüncü kat ile tekrarla

scikit-learn ile Supervised Learning

Çapraz doğrulamanın temelleri

dördüncü kat ile tekrarla

scikit-learn ile Supervised Learning

Çapraz doğrulamanın temelleri

beşinci kat ile tekrarla

scikit-learn ile Supervised Learning

Çapraz doğrulama ve model başarımı

  • 5 kat = 5 katlı ÇD

  • 10 kat = 10 katlı ÇD

  • k kat = k katlı ÇD

  • Daha çok kat = Daha maliyetli hesaplama

scikit-learn ile Supervised Learning

scikit-learn ile çapraz doğrulama

from sklearn.model_selection import cross_val_score, KFold

kf = KFold(n_splits=6, shuffle=True, random_state=42)
reg = LinearRegression()
cv_results = cross_val_score(reg, X, y, cv=kf)
scikit-learn ile Supervised Learning

Çapraz doğrulama başarımının değerlendirilmesi

print(cv_results)
[0.70262578, 0.7659624, 0.75188205, 0.76914482, 0.72551151, 0.73608277]
print(np.mean(cv_results), np.std(cv_results))
0.7418682216666667 0.023330243960652888
print(np.quantile(cv_results, [0.025, 0.975]))
array([0.7054865, 0.76874702])
scikit-learn ile Supervised Learning

Hadi pratik yapalım!

scikit-learn ile Supervised Learning

Preparing Video For Download...