Leave-one-out cross-validation
Припустімо, що ваш улюблений цукерковий бренд відсутній у наборі даних про цукерки, і вас цікавить його популярність. Під час 5-кратної перехресної перевірки щоразу тренування відбувається лише на 80% даних. Однак у наборі даних про цукерки всього 85 рядків, і вилучення 20% даних може зашкодити нашій моделі. Натомість leave-one-out cross-validation дає змогу максимально використати обмежений набір даних і забезпечить найкращу оцінку популярності ваших улюблених цукерок!
У цій вправі ви використаєте 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.____(____))