Grid search
Bạn có thể thực hiện hyperparameter tuning bằng sklearn thông qua việc cung cấp nhiều tham số đầu vào, mỗi tham số có thể được mã hóa bằng các hàm khác nhau từ numpy. Một phương pháp tuning duyệt cạn tất cả tổ hợp của các siêu tham số được chỉ định qua param_grid là grid search. Trong bài tập này, bạn sẽ dùng grid search để duyệt qua các siêu tham số cho một mô hình random forest classifier mẫu với hàm chấm điểm là AUC của đường cong ROC.
X_train, y_train, X_test, y_test đã có sẵn trong môi trường làm việc của bạn. pandas là pd, numpy là np, và sklearn cũng đã sẵn sàng. Ngoài ra, GridSearchCV() từ sklearn.model_selection cũng có sẵn.
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
Hướng dẫn bài tập
- Tạo danh sách giá trị cho từng siêu tham số trong
n_estimatorsvàmax_depth. - Tạo một random forest classifier.
- Thiết lập grid search để lặp qua tất cả các tổ hợp siêu tham số.
- In ra AUC tốt nhất bằng
.best_score_, và mô hình tốt nhất dẫn đến điểm số này bằng.best_estimator_.
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.
# Create list of hyperparameters
n_estimators = [10, 50]
max_depth = [5, 20]
param_grid = {'n_estimators': ____, 'max_depth': ____}
# Use Grid search CV to find best parameters
print("starting RF grid search.. ")
rf = ____()
clf = ____(estimator = rf, param_grid = ____, scoring = 'roc_auc')
clf.fit(X_train, y_train)
print("Best Score: ")
print(clf.____)
print("Best Estimator: ")
print(clf.____)