Régression avec des variables catégorielles
Vous avez maintenant créé music_dummies, qui contient des variables binaires pour le genre de chaque chanson; il est temps d'entraîner un modèle de régression de crête (ridge) pour prédire la popularité des chansons.
music_dummies a été préchargé pour vous, ainsi que Ridge, cross_val_score, numpy sous np, et un objet KFold enregistré sous kf.
Le modèle sera évalué en calculant la RMSE moyenne. Mais d'abord, vous devrez convertir les scores de chaque pli en valeurs positives et en prendre la racine carrée. Cette mesure indique l'erreur moyenne des prédictions du modèle; elle peut donc être comparée à l'écart-type de la variable cible — "popularity".
Cette activité fait partie du cours
Apprentissage supervisé avec scikit-learn
Instructions de l’exercice
- Créez
X, qui contient toutes les variables demusic_dummies, ety, qui contient la colonne"popularity". - Instanciez un modèle de régression de crête en fixant
alphaà 0.2. - Effectuez une validation croisée sur
Xetyavec le modèle ridge, en définissantcvàkf, et en utilisant l'erreur quadratique moyenne négative comme mesure d'évaluation. - Affichez les valeurs de RMSE en convertissant les
scoresnégatifs en valeurs positives, puis en prenant la racine carrée.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)))