Validasi silang

Supervised Learning dengan scikit-learn

George Boorman

Core Curriculum Manager, DataCamp

Motivasi validasi silang

  • Kinerja model bergantung pada cara kita membagi data

  • Tidak mewakili kemampuan model menggeneralisasi ke data baru

  • Solusi: validasi silang!

Supervised Learning dengan scikit-learn

Dasar validasi silang

judul tabel: split 1, lipat 1, lipat 2, lipat 3, lipat 4, dan lipat 5

Supervised Learning dengan scikit-learn

Dasar validasi silang

split 1 disisihkan sebagai data uji

Supervised Learning dengan scikit-learn

Dasar validasi silang

lipat 2–5 digunakan sebagai data latih

Supervised Learning dengan scikit-learn

Dasar validasi silang

hitung metrik pada lipat ini

Supervised Learning dengan scikit-learn

Dasar validasi silang

Lipat 2 sebagai data uji

Supervised Learning dengan scikit-learn

Dasar validasi silang

lipat 1, 3, 4, dan 5 sebagai data latih

Supervised Learning dengan scikit-learn

Dasar validasi silang

hitung metrik lagi

Supervised Learning dengan scikit-learn

Dasar validasi silang

ulang dengan lipat ketiga

Supervised Learning dengan scikit-learn

Dasar validasi silang

ulang dengan lipat keempat

Supervised Learning dengan scikit-learn

Dasar validasi silang

ulang dengan lipat kelima

Supervised Learning dengan scikit-learn

Validasi silang dan kinerja model

  • 5 lipat = CV 5-fold

  • 10 lipat = CV 10-fold

  • k lipat = CV k-fold

  • Lebih banyak lipat = Lebih mahal komputasinya

Supervised Learning dengan scikit-learn

Validasi silang di scikit-learn

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)
Supervised Learning dengan scikit-learn

Menilai kinerja validasi silang

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])
Supervised Learning dengan scikit-learn

Ayo berlatih!

Supervised Learning dengan scikit-learn

Preparing Video For Download...