Validasi K-Fold
Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 37 dari 58.
Bab ini membuat skor kamu tepercaya. Di akhir bab ini, kamu akan menyetel model dengan grafik seperti ini:
Satu pemisahan data uji bisa saja beruntung. Validasi silang K-fold membagi baris menjadi beberapa fold, dalam contoh ini 5, lalu menguji setiap fold secara bergiliran sambil melatih model dengan data lainnya:
Satu pemanggilan menjalankan kelimanya, di sini untuk sebuah pohon pada bunga iris:
from sklearn.model_selection import cross_val_score
tree = DecisionTreeClassifier(random_state=0)
scores = cross_val_score(tree, X, y, cv=5)
print(np.round(scores, 3))
print(f"{scores.mean():.3f} {scores.std():.3f}")Ini mencetak:
[0.967 0.967 0.9 0.967 1. ]
0.960 0.033Laporkan mean sebagai skor, dan std sebagai ukuran seberapa besar nilainya berfluktuasi.
Tantangan
SedangSebuah pabrik kombucha memprediksi batch yang rusak berdasarkan 5 pembacaan laboratorium. Seberapa stabil modelnya? Program membaca jumlah fold, kode awal membuat data dan model.
- Lakukan validasi silang pada model dengan jumlah fold tersebut.
- Cetak akurasi setiap fold, lalu mean dan std, semuanya hingga 3 angka desimal.
- Cetak nomor fold yang paling lemah, dihitung mulai dari 1.
Untuk batch lain dan 4:
Fold 1: 0.917
Fold 2: 0.933
Fold 3: 0.883
Fold 4: 0.917
Mean 0.912, std 0.018
Weakest fold: 3Coba sendiri
import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import cross_val_score
from sklearn.linear_model import LogisticRegression
n_folds = int(input())
# Jangan ubah baris di bawah ini: 240 batch kombucha, masing-masing memiliki 5 hasil pengukuran lab; label 1 berarti rusak
X, y = make_classification(n_samples=240, n_features=5, n_informative=3, n_redundant=0,
flip_y=0.08, class_sep=0.9, random_state=2)
model = LogisticRegression(max_iter=1000)
# Tulis kodemu di bawah ini
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Pembelajaran Terawasi
1Model Pertamamu
Belajar dari ContohData Latih dan Data UjiMelatih dan MemprediksiMenilai ModelRangkuman: Penyortir Benih4Regresi Logistik
Prediksi Ya atau TidakAmbang KeputusanBobot sebagai BuktiBeberapa KelasRangkuman: Filter Spam2Tetangga Terdekat
Cara k-NN MenentukanMemilih kBatas KeputusanPenskalaan untuk TetanggaRingkasan: Tetangga Wine5Mengukur Model Klasifikasi
Matriks KonfusiPresisi dan RecallSkor F1Kelas Tidak SeimbangKurva ROCRangkuman: Tes Skrining8Validasi Silang
Validasi K-FoldMembandingkan Model secara AdilPencarian GridRekap: Perbaikan SkateboardLatihan sendiri: Compiler Python online