Кросс-валидация с исключением одного наблюдения
Предположим, что вашего любимого конфета нет в наборе данных о сладостях, и вы хотите оценить его популярность. При 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.____(____))