Bắt đầu ngayBắt đầu miễn phí

Chọn mô hình

Regularization và cross validation đều là các công cụ mạnh mẽ để chọn mô hình. Regularization giúp tránh overfitting, còn cross validation đảm bảo mô hình của bạn được đánh giá đúng cách. Trong bài này, bạn sẽ dùng regularization và cross validation cùng nhau và xem các mô hình có khác biệt đáng kể hay không. Bạn sẽ chỉ tính precision, dù rằng bạn có thể dễ dàng làm tương tự cho recall và các chỉ số đánh giá khác.

X_train, y_train, X_test, y_test đã có sẵn trong workspace. pandaspd, numpynp, và sklearn cũng đã sẵn sàng. precision_score()recall_score() từ sklearn.metrics đều có sẵn, cũng như KFold()cross_val_score() từ sklearn.model_selection.

Bài tập này là một phần của khóa học

Dự đoán CTR với Machine Learning trong Python

Xem khóa học

Hướng dẫn bài tập

  • Thiết lập K-Fold cross validation với bốn phần chia bằng n_splits và gán vào k-fold.
  • Tạo một mô hình decision tree classifier.
  • Dùng k_fold để chạy cross validation và đánh giá precision và recall của mô hình decision tree với giá trị max_depth đã cho.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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))
Chỉnh sửa và Chạy Mã