Regression mit kategorialen Merkmalen
Nachdem du eben mithilfe von music_dummies
das Genre aller Songs binär codiert hast, erstellst du in dieser Übung ein Modell für die Ridge-Regression, um die Popularität der Songs vorherzusagen.
music_dummies
wurde bereits geladen, ebenso wie Ridge
, cross_val_score
, numpy
als np
sowie ein als kf
gespeichertes KFold
-Objekt.
Das Modell wird durch die Berechnung des durchschnittlichen RMSE-Wertes evaluiert. Dazu musst du zuerst die Werte für alle Teilmengen in positive Zahlen umwandeln und dann jeweils die Wurzel ziehen. Die so berechnete Kennzahl gibt den durchschnittlichen Fehler der Vorhersagen des Modells an und kann mit der Standardabweichung des Zielwerts ("popularity"
) verglichen werden.
Diese Übung ist Teil des Kurses
Überwachtes Lernen mit scikit-learn
Anleitung zur Übung
- Erstelle
X
anhand aller Merkmale inmusic_dummies
sowiey
anhand der Spalte"popularity"
. - Instanziiere ein Modell für die Ridge-Regression und setze
alpha
auf 0.2. - Führe eine Kreuzvalidierung für
X
undy
durch. Verwende dabei das Ridge-Modell, setzecv
gleichkf
und nutze den negativen mittleren quadratischen Fehler zur Bewertung. - Gib die RMSE-Werte aus, indem du zunächst negative
scores
-Werte in positive Werte umwandelst und dann die Quadratwurzel ziehst.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Create X and y
X = ____
y = ____
# Instantiate a ridge model
ridge = ____
# Perform cross-validation
scores = ____(____, ____, ____, cv=____, scoring="____")
# Calculate RMSE
rmse = np.____(____)
print("Average RMSE: {}".format(np.mean(rmse)))
print("Standard Deviation of the target array: {}".format(np.std(y)))