Leave-one-out-Cross-Validation
Angenommen, dein Lieblingssüßigkeit ist nicht im Candy-Datensatz enthalten und du willst wissen, wie beliebt sie ist. Bei 5-facher Kreuzvalidierung wird jedes Mal nur auf 80 % der Daten trainiert. Der Candy-Datensatz hat jedoch nur 85 Zeilen, und 20 % der Daten wegzulassen könnte unser Modell schwächen. Mit Leave-one-out-Cross-Validation holen wir aus dem begrenzten Datensatz das Maximum heraus und erhalten die beste Schätzung für die Beliebtheit deiner Lieblingssüßigkeit!
In dieser Übung verwendest du cross_val_score(), um LOOCV durchzuführen.
Diese Übung ist Teil des Kurses
Modellvalidierung in Python
Anleitung zur Übung
- Erstelle einen Scorer mit
mean_absolute_error, dencross_val_score()verwenden soll. - Ergänze
cross_val_score()so, dass das Modellrfr, der neu definiertemae_scorerund LOOCV verwendet werden. - Gib den Mittelwert und die Standardabweichung von
scoresmitnumpy(alsnpgeladen) aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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.____(____))