Aan de slagGa gratis aan de slag

Regressie met categorische features

Nu je music_dummies hebt gemaakt, met binaire features voor het genre van elk nummer, is het tijd om een ridge-regressiemodel te bouwen om de populariteit van nummers te voorspellen.

music_dummies is alvast voor je geladen, samen met Ridge, cross_val_score, numpy als np, en een KFold-object opgeslagen als kf.

Het model wordt geëvalueerd door de gemiddelde RMSE te berekenen. Eerst moet je echter de scores voor elke fold positief maken en daar de vierkantswortel van nemen. Deze metriek toont de gemiddelde fout van de voorspellingen van ons model, zodat je die kunt vergelijken met de standaarddeviatie van de doelwaarde—"popularity".

Deze oefening maakt deel uit van de cursus

Supervised Learning met scikit-learn

Cursus bekijken

Oefeninstructies

  • Maak X, met alle features in music_dummies, en y, bestaande uit de kolom "popularity".
  • Initialiseer een ridge-regressiemodel en zet alpha gelijk aan 0.2.
  • Voer cross-validatie uit op X en y met het ridge-model, zet cv gelijk aan kf, en gebruik negatieve mean squared error als scoringsmetriek.
  • Print de RMSE-waarden door negatieve scores positief te maken en daar de vierkantswortel van te nemen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)))
Code bewerken en uitvoeren