CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Créez un outil d'évaluation avec mean_absolute_error pour que cross_val_score() l'utilise.
  • Complétez l'appel à cross_val_score() afin d'utiliser le modèle rfr, le nouvel mae_scorer et la LOOCV.
  • Affichez la moyenne et l'écart type de scores avec numpy (importé sous np).

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.____(____))
Modifier et exécuter le code