Menyetel Pipeline
Termasuk bagian Pembelajaran Terawasi dalam perjalanan Machine Learning di Coddy. Pelajaran 48 dari 58.
Pipeline dapat disetel seperti model apa pun, termasuk langkah-langkah pembersihan. Setiap pengaturan diberi nama berdasarkan langkahnya, diikuti dua garis bawah, lalu parameternya:
pipe = make_pipeline(SimpleImputer(), DecisionTreeClassifier(random_state=0))
grid = {"simpleimputer__strategy": ["mean", "median", "most_frequent"],
"decisiontreeclassifier__max_depth": [2, 4, 6, 8]}
search = GridSearchCV(pipe, grid, cv=5)
search.fit(X_train, y_train)make_pipeline memberi nama setiap langkah berdasarkan class-nya, dalam huruf kecil. Untuk 200 peluncuran roket model, berhasil mencapai 300 m atau tidak, 12 pengaturan menghasilkan skor:
Setiap fold menyesuaikan ulang seluruh pipeline, termasuk imputer, sehingga tidak ada fold yang melihat baris yang mengujinya.
Tantangan
SedangSebuah sekolah musik ingin mengetahui siswa biola mana yang akan lulus ujian tingkat mereka. Kode awal membaca tiga nilai k, dan pencarian grid pada pipeline berhenti karena error.
- Perbaiki dua kunci grid agar pencarian menyesuaikan strategi imputer dan jumlah tetangga k-NN.
- Cetak pengaturan terbaik, akurasi validasi silang, dan akurasi pengujian, seperti di bawah ini.
Sekolah lain, dengan 2, 4, 6:
Best: mean fills, 6 neighbors
Cross-validated accuracy: 0.720
Test accuracy: 0.820Coba sendiri
import pandas as pd
from sklearn.model_selection import train_test_split, GridSearchCV
from sklearn.impute import SimpleImputer
from sklearn.preprocessing import StandardScaler
from sklearn.neighbors import KNeighborsClassifier
from sklearn.pipeline import make_pipeline
# Siswa biola: lulus ujian tingkat (1) atau tidak (0); beberapa catatan latihan
# dan nilai membaca notasi langsung tidak tersedia
students = pd.read_csv("violins.csv")
X = students.drop(columns="passed")
y = students["passed"]
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=0)
ks = [int(input()), int(input()), int(input())]
# Pencarian ini berhenti karena error: perbaiki grid-nya
pipe = make_pipeline(SimpleImputer(), StandardScaler(), KNeighborsClassifier())
grid = {
"strategy": ["mean", "median"],
"n_neighbors": ks,
}
search = GridSearchCV(pipe, grid, cv=5)
search.fit(X_train, y_train)
# 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 Spam7Overfitting
Underfitting dan OverfittingKurva PembelajaranRegularisasiSet ValidasiRingkasan: Menyetel Pohon10Pipeline
PipelineKolom CampuranMengisi Nilai Kosong dalam PipelineMenyetel PipelineRangkuman: Bersihkan dan Prediksi2Tetangga Terdekat
Cara k-NN MenentukanMemilih kBatas KeputusanPenskalaan untuk TetanggaRingkasan: Tetangga Wine5Mengukur Model Klasifikasi
Matriks KonfusiPresisi dan RecallSkor F1Kelas Tidak SeimbangKurva ROCRangkuman: Tes SkriningLatihan sendiri: Compiler Python online