Поиск по сетке
Подбор гиперпараметров в sklearn выполняется путём передачи различных входных параметров, каждый из которых можно задать с помощью функций numpy. Один из методов подбора — поиск по сетке — перебирает все комбинации гиперпараметров, указанных в param_grid. В этом упражнении вы воспользуетесь поиском по сетке для перебора гиперпараметров классификатора на основе случайного леса, используя в качестве метрики AUC кривой ROC.
В рабочем пространстве доступны X_train, y_train, X_test, y_test, а также библиотеки pandas как pd, numpy как np и sklearn. Кроме того, доступна функция GridSearchCV() из sklearn.model_selection.
Это упражнение является частью курса
Прогнозирование CTR с помощью машинного обучения на Python
Инструкции к упражнению
- Создайте список значений для каждого гиперпараметра:
n_estimatorsиmax_depth. - Создайте классификатор на основе случайного леса.
- Настройте поиск по сетке для перебора всех комбинаций гиперпараметров.
- Выведите наилучшее значение AUC с помощью
.best_score_и наилучший оценщик, достигший этого результата, с помощью.best_estimator_.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create list of hyperparameters
n_estimators = [10, 50]
max_depth = [5, 20]
param_grid = {'n_estimators': ____, 'max_depth': ____}
# Use Grid search CV to find best parameters
print("starting RF grid search.. ")
rf = ____()
clf = ____(estimator = rf, param_grid = ____, scoring = 'roc_auc')
clf.fit(X_train, y_train)
print("Best Score: ")
print(clf.____)
print("Best Estimator: ")
print(clf.____)