Использование наилучших результатов
Анализировать результаты поискa по сетке интересно, но наша конечная цель носит практический характер: мы хотим делать прогнозы на тестовом наборе данных с помощью объекта-оценщика.
Обратиться к этому объекту можно через свойство best_estimator_ нашего объекта поиска по сетке.
Давайте заглянем внутрь свойства best_estimator_, сделаем прогнозы и вычислим оценочные метрики. Для начала воспользуемся стандартным методом predict (который возвращает прогнозы классов), а затем применим predict_proba вместо predict, чтобы получить оценку ROC-AUC — этой метрике необходимы вероятностные оценки. Срез [:,1] используется для получения вероятностей положительного класса.
В вашем распоряжении наборы данных X_test и y_test, а также объект grid_rf_class из предыдущих упражнений.
Это упражнение является частью курса
Подбор гиперпараметров в Python
Инструкции к упражнению
- Проверьте тип свойства
best_estimator_. - Используйте свойство
best_estimator_, чтобы сделать прогнозы на тестовом наборе данных. - Вычислите матрицу ошибок и метрику ROC_AUC на основе полученных прогнозов.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# See what type of object the best_estimator_ property is
print(____(____.____))
# Create an array of predictions directly using the best_estimator_ property
predictions = grid_rf_class.____._____(X_test)
# Take a look to confirm it worked, this should be an array of 1's and 0's
print(predictions[0:5])
# Now create a confusion matrix
print("Confusion Matrix \n", confusion_matrix(y_test, ______))
# Get the ROC-AUC score
predictions_proba = grid_rf_class.best_estimator_.predict_proba(X_test)[:,1]
print("ROC-AUC Score \n", roc_auc_score(y_test, _____))