CommencerCommencer gratuitement

Leave-one-out-cross-validation

Supposons que votre bonbon préféré ne figure pas dans le jeu de données des bonbons et que vous souhaitiez connaître sa popularité. Avec une validation croisée à 5 plis, on entraîne à chaque fois sur seulement 80 % des données. Or, le jeu de données des bonbons ne contient que 85 lignes ; laisser de côté 20 % des données pourrait nuire à notre modèle. En revanche, la leave-one-out cross-validation nous permet de tirer le meilleur parti de ce petit jeu de données et vous donnera la meilleure estimation de la popularité de votre bonbon préféré !

Dans cet exercice, vous allez utiliser cross_val_score() pour effectuer une LOOCV.

Cet exercice fait partie du cours

Validation des modèles en Python

Afficher le cours

Instructions

  • Créez un scoreur basé sur mean_absolute_error à utiliser avec cross_val_score().
  • Complétez cross_val_score() pour utiliser le modèle rfr, le mae_scorer que vous venez de définir, ainsi que la LOOCV.
  • Affichez la moyenne et l’écart type de scores en utilisant numpy (importé sous np).

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

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