MulaiMulai sekarang secara gratis

Pemilihan model

Regularization dan cross validation adalah alat yang kuat dalam pemilihan model. Regularization dapat membantu mencegah overfitting dan cross validation memastikan model Anda dievaluasi dengan tepat. Pada latihan ini, Anda akan menggunakan regularization dan cross validation secara bersamaan dan melihat apakah model berbeda secara signifikan atau tidak. Anda hanya akan menghitung precision, meskipun latihan yang sama dapat dengan mudah dilakukan untuk recall dan metrik evaluasi lainnya juga.

X_train, y_train, X_test, y_test tersedia di workspace Anda. pandas sebagai pd, numpy sebagai np, dan sklearn juga tersedia di workspace Anda. Baik precision_score() maupun recall_score() dari sklearn.metrics tersedia, begitu pula KFold() dan cross_val_score() dari sklearn.model_selection.

Latihan ini adalah bagian dari kursus

Memprediksi CTR dengan Machine Learning di Python

Lihat Kursus

Petunjuk latihan

  • Siapkan K-Fold cross validation dengan empat split menggunakan n_splits dan tetapkan ke k-fold.
  • Buat classifier decision tree.
  • Gunakan k_fold untuk menjalankan cross validation dan evaluasi precision dan recall model decision tree Anda untuk nilai max_depth yang diberikan.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Iterate over different levels of max depth and set up k-fold
for max_depth_val in [3, 5, 10]:
  k_fold = ____(____ = 4, random_state = 0, shuffle = True)
  clf = ____(____ = max_depth_val)
  print("Evaluating Decision Tree for max_depth = %s" %(max_depth_val))
  y_pred = clf.fit(____, ____).predict(____) 
  
  # Calculate precision for cross validation and test
  cv_precision = ____(
    ____, X_train, y_train, cv = k_fold, scoring = 'precision_weighted')
  precision = ____(y_test, y_pred, average = 'weighted')
  print("Cross validation Precision: %s" %(cv_precision))
  print("Test Precision: %s" %(precision))
Edit dan Jalankan Kode