Пошук по сітці (Grid search)
Налаштування гіперпараметрів у sklearn можна виконати, передаючи різні вхідні параметри, кожен із яких можна сформувати за допомогою функцій з numpy. Один із методів налаштування, який вичерпно перебирає всі комбінації вхідних гіперпараметрів, заданих через param_grid, — це пошук по сітці (grid search). У цій вправі ви застосуєте пошук по сітці, щоб переглянути гіперпараметри для зразкового класифікатора випадкового лісу зі скоринговою функцією 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.____)