Объект RandomizedSearchCV
Как и GridSearchCV из Scikit Learn, RandomizedSearchCV предоставляет множество полезных возможностей для эффективного проведения случайного поиска. Вам предстоит создать объект RandomizedSearchCV, внеся небольшие изменения по сравнению с объектом GridSearchCV.
Необходимые параметры:
- Классификатор на основе градиентного бустинга с настройками по умолчанию
- 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_['____'])