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
Oefeninstructies
- Maak
X, met alle features inmusic_dummies, eny, bestaande uit de kolom"popularity". - Initialiseer een ridge-regressiemodel en zet
alphagelijk aan 0.2. - Voer cross-validatie uit op
Xenymet het ridge-model, zetcvgelijk aankf, en gebruik negatieve mean squared error als scoringsmetriek. - Print de RMSE-waarden door negatieve
scorespositief 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)))