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

Gộp mọi thứ lại với nhau

Bạn vừa gia nhập một startup phát hiện rối loạn nhịp tim và muốn huấn luyện mô hình trên bộ dữ liệu rối loạn nhịp arrh. Bạn nhận thấy random forest thường thắng khá nhiều cuộc thi Kaggle, nên bạn muốn thử với các giá trị độ sâu tối đa là 2, 5 hoặc 10, dùng grid search. Bạn cũng nhận ra bộ dữ liệu có số chiều khá lớn, nên muốn xem xét tác động của một phương pháp chọn đặc trưng.

Để tránh overfit do sơ suất, bạn đã chia dữ liệu sẵn. Bạn sẽ dùng X_trainy_train cho grid search, và X_test cùng y_test để quyết định liệu chọn đặc trưng có hữu ích hay không. Cả bốn phần dữ liệu đã được nạp sẵn trong môi trường của bạn. Bạn cũng có sẵn GridSearchCV(), train_test_split(), SelectKBest(), chi2()RandomForestClassifier với tên rfc.

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

Thiết kế quy trình Machine Learning bằng Python

Xem khóa học

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

  • Dùng grid search để thử các giá trị độ sâu tối đa 2, 5 và 10 cho RandomForestClassifier và lưu cấu hình tham số cho hiệu suất tốt nhất.
  • Sau đó refit estimator bằng số lượng cây ước lượng tốt nhất rút ra ở bước trên.
  • Áp dụng bộ chọn đặc trưng SelectKBest với hàm chấm điểm chi2 và refit bộ phân loại.

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.

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