Phân tích kết quả tốt nhất
Cuối cùng, điều chúng ta quan tâm nhất là 'ô vuông' (square) có hiệu suất tốt nhất trong grid search. May mắn là các đối tượng gridSearchCv của Scikit Learn có một số thuộc tính cung cấp thông tin then chốt chỉ về ô tốt nhất (hay hàng tương ứng trong cv_results_).
Ba thuộc tính bạn sẽ khám phá gồm:
best_score_– Điểm số (ở đây là ROC_AUC) từ ô có hiệu suất tốt nhất.best_index_– Chỉ số của hàng trongcv_results_chứa thông tin về ô có hiệu suất tốt nhất.best_params_– Một dictionary các tham số tạo ra điểm số tốt nhất, ví dụ'max_depth': 10
Đối tượng grid search grid_rf_class đã được cung cấp.
Một dataframe (cv_results_df) đã được tạo từ cv_results_ cho bạn ở dòng 6. Điều này sẽ giúp bạn lập chỉ mục (index) vào kết quả.
Bài tập này là một phần của khóa học
Tinh chỉnh siêu tham số trong Python
Hướng dẫn bài tập
- Trích xuất và in ra điểm số ROC_AUC từ ô tốt nhất trong
grid_rf_class. - Tạo một biến từ hàng có hiệu suất tốt nhất bằng cách đánh chỉ số (index) vào
cv_results_df. - Tạo một biến
best_n_estimatorsbằng cách trích xuất tham sốn_estimatorstừ ô có hiệu suất tốt nhất tronggrid_rf_classvà in ra.
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.
# Print out the ROC_AUC score from the best-performing square
best_score = grid_rf_class._____
print(best_score)
# Create a variable from the row related to the best-performing square
cv_results_df = pd.DataFrame(grid_rf_class.cv_results_)
best_row = cv_results_df.loc[[grid_rf_class.____]]
print(best_row)
# Get the n_estimators parameter from the best-performing square and print
best_n_estimators = grid_rf_class.____["_____"]
print(best_n_estimators)