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
Xanhand aller Merkmale inmusic_dummiessowieyanhand der Spalte"popularity". - Instanziiere ein Modell für die Ridge-Regression und setze
alphaauf 0.2. - Führe eine Kreuzvalidierung für
Xundydurch. Verwende dabei das Ridge-Modell, setzecvgleichkfund 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
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)))