51
правка
Изменения
форматирование
Зачем нам нужен и валидационный, и тестовый набор? Дело в том, что модель может переучиться на валидационном наборе данных. Для выявления переобучения используется тестовый набор данных.
Рассмотрим модель ''KNeighborsClassifier '' из библиотеки ''sklearn''. Все “параметры” данной модели, с точки зрения машинного обучения, являются гиперпараметрами, так как задаются до начала обучения.
[[Файл:KNeighborsClassifier_model.png|center|1000px]]
==== Sklearn Grid search: использование ====
Пример использования ''Grid search '' из библиотеки ''scikit-learn'':
# Создание экземпляра класса ''SGDClassifier '' (из ''sklearn'')
# Создание сетки гиперпараметров. В данном случае будем подбирать коэффициент регуляризации, шаг градиентного спуска, количество итераций и параметр скорости обучения.
# Создание экземпляра класса кросс-валидации
# Создание экземпляра ''GridSearch '' (из ''sklearn''). Первый параметр — модель, второй — сетка гиперпараметров, третий — функционал ошибки (используемый для контроля качества моделей по технике кросс-валидации), четвертый — кросс-валидация (можно задать количество фолдов, а можно передать экземпляр класса кросс - валидации)
# Запуск поиска по сетке.
==== Sklearn Grid search: важные атрибуты ====
* ''best_estimator_ '' — лучшая модель* ''best_score_ '' — ошибка, полученная на лучшей модели.* ''best_params_ '' — гиперпараметры лучшей модели <br>
[[Файл:KNeighborsClassifier_bestest.png|center|1000px]] <br>
* ''cv_results_ '' — результаты всех моделей. <br>
[[Файл:KNeighborsClassifier_results.png|center|1000px]] <br>