Выбор модели с наилучшей точностью
Ваш руководитель готов оплатить вам посещение трёх спортивных матчей в этом году. Из 41 домашней игры вашей любимой команды вы хотите выбрать три, в которых она точно победит. Вы строите модель, которая поможет предсказать победу команды.
Для этого вы создадите алгоритм случайного поиска и сфокусируетесь на точности модели (чтобы быть уверены в победе). Вы также хотите сохранить лучшую модель и лучшие параметры — чтобы использовать их в следующем году (если модель покажет хорошие результаты). Вы уже решили использовать модель классификации на основе случайного леса rfc и сгенерировали распределение параметров param_dist.
Это упражнение является частью курса
Валидация моделей на Python
Инструкции к упражнению
- Создайте метрику точности
precisionс помощьюmake_scorer(<функция_оценки>). - Завершите метод случайного поиска, используя
rfcиparam_dist. - Используйте
rs.cv_results_, чтобы вывести средние значения тестовых оценок. - Выведите наилучшее общее значение оценки.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
from sklearn.metrics import precision_score, make_scorer
# Create a precision scorer
precision = ____(____)
# Finalize the random search
rs = RandomizedSearchCV(
estimator=____, param_distributions=____,
scoring = precision,
cv=5, n_iter=10, random_state=1111)
rs.fit(X, y)
# print the mean test scores:
print('The accuracy for each run was: {}.'.format(rs.cv_results_['____']))
# print the best model score:
print('The best accuracy for a single model was: {}'.format(rs.____))