Bắt đầu ngayBắt đầu miễn phí

Đối tượng RandomizedSearchCV

Giống như thư viện GridSearchCV của Scikit Learn, RandomizedSearchCV cung cấp nhiều tính năng hữu ích để thực hiện random search hiệu quả. Bạn sẽ tạo một đối tượng RandomizedSearchCV, với một điều chỉnh nhỏ so với đối tượng GridSearchCV.

Các tùy chọn cần có:

  • Estimator mặc định là Gradient Boosting Classifier
  • Cross validation 5-fold
  • Dùng accuracy để chấm điểm mô hình
  • Dùng 4 lõi để xử lý song song
  • Đảm bảo refit mô hình tốt nhất và trả về điểm huấn luyện
  • Lấy mẫu ngẫu nhiên 10 mô hình

Lưới siêu tham số cần có learning_rate (150 giá trị từ 0.1 đến 2) và min_samples_leaf (tất cả các giá trị từ 20 đến 64, bao gồm cả hai đầu).

Bạn sẽ có sẵn các tập dữ liệu X_train & y_train.

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

Xem khóa học

Hướng dẫn bài tập

  • Tạo lưới tham số theo mô tả ở trên.
  • Tạo một đối tượng RandomizedSearchCV như đã nêu ở trên.
  • Fit đối tượng RandomizedSearchCV vào dữ liệu huấn luyện.
  • In ra các giá trị được quá trình mô hình hóa chọn cho cả hai siêu tham số.

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 the parameter grid
param_grid = {'learning_rate': np.linspace(____,____,150), 'min_samples_leaf': list(range(____,65))} 

# Create a random search object
random_GBM_class = ____(
    estimator = ____,
    ____ = param_grid,
    ____ = 10,
    scoring='____', n_jobs=____, cv = ____, refit=____, return_train_score = ____)

# Fit to the training data
random_GBM_class.fit(____, ____)

# Print the values used for both hyperparameters
print(random_GBM_class.____['param_learning_rate'])
print(random_GBM_class.cv_results_['____'])
Chỉnh sửa và Chạy Mã