НачатьНачать бесплатно

Кросс-валидация с помощью sklearn

Как было рассмотрено во второй главе, переобучение на наборе данных — распространённая проблема в аналитике. Она возникает, когда модель слишком точно запомнила обучающие данные: она показывает отличные результаты на тех данных, на которых обучалась, но плохо обобщается на новых.

Метод разбивки на обучающую и тестовую выборки, с которым вы познакомились во второй главе, защищает от переобучения на обучающей выборке. Однако подбор гиперпараметров может привести к переобучению на тестовой части, поскольку в процессе настройки модель оптимизируется именно под результаты на тестовой выборке. Поэтому рекомендуется проверять модель на разных тестовых выборках. Для этого применяют k-кратную кросс-валидацию:

  • набор данных разбивается на обучающую и тестовую выборки;
  • модель обучается, делает предсказания и вычисляет метрику (можно выбрать точность, precision, recall и другие);
  • процесс повторяется k раз;
  • в итоге возвращается среднее значение k метрик.

В этом упражнении вы применените кросс-валидацию к нашему набору данных и оцените результаты с помощью функции cross_val_score.

Это упражнение является частью курса

HR-аналитика: прогнозирование текучести кадров на Python

Посмотреть курс

Инструкции к упражнению

  • Импортируйте функцию для кросс-валидации cross_val_score() из модуля sklearn.model_selection.
  • Выведите на экран результат кросс-валидации модели, указав 10 фолдов с помощью гиперпараметра cv.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# Import the function for implementing cross validation
from sklearn.model_selection import ____

# Use that function to print the cross validation score for 10 folds
print(____(model,features,target,____=10))
Редактировать и запускать код