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

Статистика кросс-валидации

Вы использовали поиск по сетке с кросс-валидацией для настройки классификатора на основе случайного леса и теперь хотите проверить результаты кросс-валидации, чтобы убедиться в отсутствии переобучения. В частности, вас интересует разность между средним значением тестовой метрики и средним значением метрики на обучении для каждого блока. Набор данных доступен в виде X_train и y_train, пайплайн — как pipe, а также предварительно загружены необходимые модули, включая pandas как pd и GridSearchCV().

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

Проектирование рабочих процессов машинного обучения на Python

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

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

  • Создайте объект поиска по сетке с тремя блоками кросс-валидации и убедитесь, что он возвращает статистику как по обучающей, так и по тестовой выборке.
  • Обучите объект поиска по сетке на обучающих данных.
  • Сохраните результаты кросс-валидации, доступные в атрибуте cv_results_ обученного объекта CV, в датафрейм.
  • Выведите разность между столбцом со средним значением тестовой метрики и столбцом со средним значением метрики на обучении.

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

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

# Fit your pipeline using GridSearchCV with three folds
grid_search = GridSearchCV(
  pipe, params, ____=3, return_train_score=____)

# Fit the grid search
gs = grid_search.____(____, ____)

# Store the results of CV into a pandas dataframe
results = pd.____(gs.____)

# Print the difference between mean test and training scores
print(
  results[____]-results['mean_train_score'])
Редактировать и запускать код