Tìm kiếm ngẫu nhiên với Random Forest
Để củng cố kiến thức về lấy mẫu ngẫu nhiên, hãy thử một bài tương tự nhưng với các siêu tham số và thuật toán khác.
Như trước, hãy tạo một số danh sách siêu tham số để có thể zip lại thành một danh sách các danh sách. Bạn sẽ dùng các siêu tham số criterion, max_depth và max_features của thuật toán random forest. Sau đó, bạn sẽ chọn ngẫu nhiên các tổ hợp siêu tham số để chuẩn bị chạy random search.
Trong bài này, bạn sẽ dùng một gói/hàm lấy mẫu hơi khác, random.sample().
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 các giá trị
'gini'và'entropy'chocriterion&"auto", "sqrt", "log2", Nonechomax_features. - Tạo một danh sách các giá trị từ 3 đến 55 (bao gồm cả hai đầu) cho siêu tham số
max_depthvà gán vào danh sáchmax_depth_list. Nhớ rằngrange(N,M)sẽ tạo danh sách từNđếnM-1. - 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 bằng
product(). - Lấy mẫu ngẫu nhiên 150 mô hình từ danh sách đã kết hợp 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 lists for criterion and max_features
criterion_list = ____
max_feature_list = ____
# Create a list of values for the max_depth hyperparameter
max_depth_list = list(range(____,____))
# Combination list
combinations_list = [list(x) for x in product(____, ____, ____)]
# Sample hyperparameter combinations for a random search
combinations_random_chosen = random.sample(____, ____)
# Print the result
print(____)