Lấy mẫu ngẫu nhiên các siêu tham số
Để thực hiện random search, trước hết chúng ta cần lấy mẫu ngẫu nhiên trong không gian siêu tham số.
Trong bài tập này, bạn sẽ tạo một số danh sách siêu tham số có thể ghép (zip) thành một danh sách các danh sách. Sau đó, bạn sẽ lấy mẫu ngẫu nhiên các tổ hợp siêu tham số để chuẩn bị chạy random search.
Bạn sẽ chỉ dùng hai siêu tham số learning_rate và min_samples_leaf của thuật toán GBM để ví dụ dễ hiểu và không quá phức tạp.
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
- Tạo danh sách 200 giá trị cho siêu tham số
learning_ratetrong khoảng từ 0.01 đến 1.5 và gán vào danh sáchlearn_rate_list. - Tạo danh sách các giá trị từ 10 đến 40 (bao gồm cả hai đầu) cho siêu tham số
min_samples_leafvà gán vào danh sáchmin_samples_list. - Kết hợp các danh sách này thành một danh sách các danh sách để lấy mẫu.
- Lấy mẫu ngẫu nhiên 250 mô hình từ các tổ hợp siêu tham số này và in kết quả.
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 a list of values for the learning_rate hyperparameter
learn_rate_list = list(np.____(____,____,____))
# Create a list of values for the min_samples_leaf hyperparameter
min_samples_list = list(____(____,____))
# Combination list
combinations_list = [list(x) for x in ____(____, min_samples_list)]
# Sample hyperparameter combinations for a random search.
random_combinations_index = np.____(range(0, len(____)), ____, replace=False)
combinations_random_chosen = [combinations_list[x] for x in ____]
# Print the result
print(____)