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

Кросс-валидация с исключением одного наблюдения

Предположим, что вашего любимого конфета нет в наборе данных о сладостях, и вы хотите оценить его популярность. При 5-кратной кросс-валидации модель обучается лишь на 80% данных за один раз. Однако набор данных содержит всего 85 строк, и исключение 20% данных может негативно сказаться на качестве модели. Кросс-валидация с исключением одного наблюдения (LOOCV) позволяет максимально эффективно использовать ограниченный набор данных и даёт наилучшую оценку популярности вашего любимого конфета!

В этом упражнении вы воспользуетесь функцией cross_val_score() для выполнения LOOCV.

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

Валидация моделей на Python

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

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

  • Создайте объект оценщика на основе mean_absolute_error для использования в cross_val_score().
  • Заполните параметры cross_val_score() так, чтобы использовались модель rfr, только что созданный mae_scorer и метод LOOCV.
  • Выведите среднее значение и стандартное отклонение массива scores с помощью numpy (импортированного как np).

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

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

from sklearn.metrics import mean_absolute_error, make_scorer

# Create scorer
mae_scorer = ____(____)

rfr = RandomForestRegressor(n_estimators=15, random_state=1111)

# Implement LOOCV
scores = cross_val_score(____, X=X, y=y, cv=____, scoring=____)

# Print the mean and standard deviation
print("The mean of the errors is: %s." % np.____(____))
print("The standard deviation of the errors is: %s." % np.____(____))
Редактировать и запускать код