MulaiMulai sekarang secara gratis

Menggabungkan semuanya

Anda baru saja bergabung dengan sebuah startup deteksi aritmia dan ingin melatih model pada himpunan data aritmia arrh. Anda melihat bahwa random forest sering memenangkan cukup banyak kompetisi Kaggle, jadi Anda ingin mencobanya dengan kedalaman maksimum 2, 5, atau 10 menggunakan grid search. Anda juga mengamati bahwa dimensi himpunan data cukup tinggi sehingga Anda ingin mempertimbangkan dampak metode seleksi fitur.

Untuk memastikan Anda tidak overfit secara tidak sengaja, Anda sudah memisahkan data. Anda akan menggunakan X_train dan y_train untuk grid search, serta X_test dan y_test untuk memutuskan apakah seleksi fitur membantu. Keempat lipatan himpunan data sudah dimuat sebelumnya di lingkungan Anda. Anda juga memiliki akses ke GridSearchCV(), train_test_split(), SelectKBest(), chi2() dan RandomForestClassifier sebagai rfc.

Latihan ini adalah bagian dari kursus

Merancang Alur Kerja Machine Learning di Python

Lihat Kursus

Petunjuk latihan

  • Gunakan grid search untuk mencoba kedalaman maksimum 2, 5, dan 10 untuk RandomForestClassifier dan simpan pengaturan parameter dengan kinerja terbaik.
  • Sekarang latih ulang estimator menggunakan jumlah estimator berkinerja terbaik sebagaimana ditentukan di atas.
  • Terapkan pemilih fitur SelectKBest dengan fungsi penilaian chi2 dan latih ulang classifier.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Find the best value for max_depth among values 2, 5 and 10
grid_search = GridSearchCV(
  ____(random_state=1), param_grid=____)
best_value = grid_search.____(
  ____, ____).best_params_['max_depth']

# Using the best value from above, fit a random forest
clf = rfc(
  random_state=1, ____=best_value).____(X_train, y_train)

# Apply SelectKBest with chi2 and pick top 100 features
vt = SelectKBest(____, k=____).____(X_train, y_train)

# Create a new dataset only containing the selected features
X_train_reduced = ____.transform(____)
Edit dan Jalankan Kode