Об'єкт RandomizedSearchCV
Так само, як і GridSearchCV зі Scikit Learn, RandomizedSearchCV надає багато корисних можливостей для ефективного виконання випадкового пошуку. Ви створите об'єкт RandomizedSearchCV, зробивши невелику зміну порівняно з об'єктом GridSearchCV.
Необхідні налаштування:
- Базовий оцінювач Gradient Boosting Classifier за замовчуванням
- 5-кратна перехресна перевірка
- Використати accuracy для оцінювання моделей
- Використати 4 ядра для паралельної обробки
- Перенавчити найкращу модель і повертати тренувальні оцінки
- Випадково відібрати 10 моделей
Сітка гіперпараметрів має охоплювати learning_rate (150 значень між 0,1 і 2) та min_samples_leaf (усі значення від 20 до 64 включно).
Вам доступні набори даних X_train і y_train.
Ця вправа є частиною курсу
Тюнінг гіперпараметрів у Python
Інструкції до вправи
- Створіть сітку параметрів згідно з описом вище.
- Створіть об'єкт
RandomizedSearchCV, як зазначено в описі вище. - Навчіть об'єкт
RandomizedSearchCVна тренувальних даних. - Виведіть значення, обрані під час моделювання, для обох гіперпараметрів.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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_['____'])