Анализ наилучших результатов
В конечном счёте нас прежде всего интересует наилучшая «ячейка» в сетке поиска. К счастью, объекты gridSearchCv в Scikit Learn предоставляют ряд параметров с ключевой информацией именно об этой лучшей ячейке (или строке в cv_results_).
Вы изучите три свойства:
best_score_– значение метрики (здесь ROC_AUC) для наилучшей ячейки.best_index_– индекс строки вcv_results_, содержащей информацию о наилучшей ячейке.best_params_– словарь параметров, давших наилучший результат, например'max_depth': 10
Объект поиска по сетке grid_rf_class доступен для использования.
На строке 6 уже создан датафрейм (cv_results_df) на основе cv_results_. Он поможет вам обратиться к нужной строке результатов по индексу.
Это упражнение является частью курса
Подбор гиперпараметров в Python
Инструкции к упражнению
- Извлеките и выведите значение метрики ROC_AUC для наилучшей ячейки в
grid_rf_class. - Создайте переменную для наилучшей строки, обратившись к
cv_results_dfпо индексу. - Создайте переменную
best_n_estimators, извлёкив параметрn_estimatorsдля наилучшей ячейки изgrid_rf_class, и выведите её значение.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Print out the ROC_AUC score from the best-performing square
best_score = grid_rf_class._____
print(best_score)
# Create a variable from the row related to the best-performing square
cv_results_df = pd.DataFrame(grid_rf_class.cv_results_)
best_row = cv_results_df.loc[[grid_rf_class.____]]
print(best_row)
# Get the n_estimators parameter from the best-performing square and print
best_n_estimators = grid_rf_class.____["_____"]
print(best_n_estimators)