Leave-one-out cross-validation
Supposons que votre bonbon préféré ne figure pas dans le jeu de données sur les bonbons et que vous souhaitiez connaître sa popularité. Avec une validation croisée en 5 plis, chaque entraînement n'utilise que 80 % des données à la fois. Or, le jeu de données sur les bonbons ne compte que 85 lignes, et laisser de côté 20 % des données pourrait nuire à notre modèle. En revanche, la validation croisée leave-one-out nous permet de tirer le maximum d'un jeu de données limité et vous donnera la meilleure estimation de la popularité de votre bonbon préféré!
Dans cet exercice, vous utiliserez cross_val_score() pour effectuer une LOOCV.
Cette activité fait partie du cours
Validation de modèles en Python
Instructions de l’exercice
- Créez un outil d'évaluation avec
mean_absolute_errorpour quecross_val_score()l'utilise. - Complétez l'appel à
cross_val_score()afin d'utiliser le modèlerfr, le nouvelmae_scoreret la LOOCV. - Affichez la moyenne et l'écart type de
scoresavecnumpy(importé sousnp).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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.____(____))