Lompat ke konten utama
←

Machine Learning Dasar dengan Python

Pelajaran 13 dari 16

Model yang andal dan data tanpa label

Validasi silang

Setelah pelajaran ini kamu bisa menilai dan membandingkan model dengan cross_val_score dan KFold.

±13 menitDiperiksa 27 Sep 2026

Materi

Satu pembagian latih-uji memberi satu angka yang ikut untung-untungan: pembagian lain bisa memberi skor berbeda. Validasi silang k-lipatan (k-fold) membagi data menjadi k bagian yang sama besar. Model dilatih k kali; setiap kali satu bagian menjadi data validasi dan sisanya data latih. Hasilnya k skor, dan rata-ratanya jauh lebih stabil daripada satu skor.

cross_val_score(model, X, y, cv=5) mengerjakan semuanya dan mengembalikan array lima skor; untuk classifier skornya akurasi. Menurut dokumentasi cross_val_score, cv berupa bilangan bulat pada classifier memakai StratifiedKFold, sehingga proporsi kelas terjaga di setiap lipatan. Untuk mengacak baris sebelum dibagi, berikan KFold(n_splits=5, shuffle=True, random_state=0) sebagai cv.

from sklearn.model_selection import cross_val_score, KFold
from sklearn.tree import DecisionTreeClassifier

lipatan = KFold(n_splits=4, shuffle=True, random_state=1)
skor = cross_val_score(DecisionTreeClassifier(random_state=0), X, y, cv=lipatan)
print(skor.round(3), skor.mean().round(3))

User Guide menganjurkan tetap menyisihkan data uji untuk penilaian terakhir: validasi silang dipakai untuk memilih model dan pengaturannya di data latih, lalu data uji dibuka sekali di akhir.

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 3

Data berisi 150 baris dinilai dengan validasi silang 5 lipatan. Berapa baris yang menjadi data validasi di setiap lipatan?

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke