MulaiMulai sekarang secara gratis

Menggabungkan semuanya

Anda memiliki dua kekhawatiran tentang pipeline Anda di startup deteksi aritmia:

  • Aplikasi dilatih pada pasien dari segala usia, tetapi terutama digunakan oleh pengguna kebugaran yang cenderung muda. Anda menduga ini mungkin kasus pergeseran domain (domain shift), sehingga Anda ingin mengabaikan semua contoh di atas 50 tahun.
  • Anda masih khawatir tentang overfitting, jadi Anda ingin melihat apakah membuat pengklasifikasi random forest kurang kompleks dan melakukan pemilihan fitur dapat membantu.

Anda akan membuat pipeline dengan langkah pemilihan fitur SelectKBest() dan RandomForestClassifier, yang keduanya sudah diimpor. Anda juga memiliki akses ke GridSearchCV(), Pipeline, numpy sebagai np, dan pickle. Data tersedia sebagai arrh.

Latihan ini adalah bagian dari kursus

Merancang Alur Kerja Machine Learning di Python

Lihat Kursus

Petunjuk latihan

  • Buat pipeline dengan SelectKBest() sebagai langkah ft dan RandomForestClassifier() sebagai langkah clf.
  • Buat parameter grid untuk menyetel k pada SelectKBest() dan max_depth pada RandomForestClassifier().
  • Gunakan GridSearchCV() untuk mengoptimalkan pipeline Anda terhadap grid tersebut dan data yang hanya berisi mereka yang berusia di bawah 50 tahun.
  • Simpan pipeline yang teroptimasi ke dalam pickle untuk produksi.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create a pipeline 
pipe = Pipeline([
  ('ft', ____), ('clf', ____(random_state=2))])

# Create a parameter grid
grid = {'ft__k':[5, 10], '____':[10, 20]}

# Execute grid search CV on a dataset containing under 50s
grid_search = ____(pipe, param_grid=grid)
arrh = arrh.____[____(arrh['age'] < 50)]
____.____(arrh.drop('class', 1), arrh['class'])

# Push the fitted pipeline to production
with ____('pipe.pkl', ____) as file:
    pickle.dump(____, file)
Edit dan Jalankan Kode