IniziaInizia gratis

Leave-one-out cross-validation

Supponiamo che la tua caramella preferita non sia presente nell'insieme di dati delle caramelle e che tu voglia stimarne la popolarità. Usare una cross-validation con 5 fold allena il modello solo sull’80% dei dati alla volta. Tuttavia, il dataset delle caramelle ha solo 85 righe e lasciare fuori il 20% dei dati potrebbe penalizzare il nostro modello. Con la leave-one-out cross-validation, invece, possiamo sfruttare al massimo il nostro insieme di dati limitato e ottenere la stima migliore della popolarità della tua caramella preferita!

In questo esercizio userai cross_val_score() per eseguire la LOOCV.

Questo esercizio fa parte del corso

Validazione dei modelli in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Crea uno scorer usando mean_absolute_error da passare a cross_val_score().
  • Completa cross_val_score() in modo che utilizzi il modello rfr, il nuovo mae_scorer e la LOOCV.
  • Stampa la media e la deviazione standard di scores usando numpy (importato come np).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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.____(____))
Modifica ed esegui il codice