Trực quan hóa Coarse to Fine
Bạn sẽ thực hiện phần đầu của tìm kiếm Coarse to Fine. Việc này bao gồm phân tích kết quả của một random search ban đầu trên một không gian tìm kiếm lớn, rồi quyết định bước hợp lý tiếp theo để làm mịn việc tìm kiếm hyperparameter.
Bạn có sẵn:
combinations_list- danh sách các tổ hợp hyperparameter khả dĩ mà random search đã chạy trên đó.results_df- một DataFrame chứa mỗi tổ hợp hyperparameter và độ chính xác thu được của toàn bộ 500 lần thử. Mỗi hyperparameter là một cột, tiêu đề là tên hyperparameter.visualize_hyperparameter()- một hàm nhận vào tên một cột của DataFrame (dưới dạng chuỗi) và vẽ scatter plot so sánh giá trị cột này với điểm accuracy. Ví dụ gọi hàm:visualize_hyperparameter('accuracy')
Nếu bạn muốn xem định nghĩa của hàm visualize_hyperparameter(), bạn có thể chạy đoạn mã sau:
import inspect
print(inspect.getsource(visualize_hyperparameter))
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
- Xác nhận (bằng cách in ra) kích thước của
combinations_list, qua đó cho thấy vì sao nên bắt đầu bằng random search. - Sắp xếp
results_dftheo giá trị accuracy và in 10 hàng đầu. Có nhận định rõ ràng nào không? Cẩn trọng với kích thước mẫu nhỏ! - Xác nhận (bằng cách in ra) các hyperparameter đã dùng trong lần tìm kiếm này. Đây là tên các cột trong
results_df. - Gọi
visualize_hyperparameter()lần lượt với từng hyperparameter (max_depth,min_samples_leaf,learn_rate). Có xu hướng nào không?
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.
# Confirm the size of the combinations_list
print(____(____))
# Sort the results_df by accuracy and print the top 10 rows
print(results_df.____(by=____, ascending=False).head(____))
# Confirm which hyperparameters were used in this search
print(results_df.____)
# Call visualize_hyperparameter() with each hyperparameter in turn
visualize_hyperparameter(____)
visualize_hyperparameter(____)
visualize_hyperparameter(____)