Prestatie van regressiemodellen visualiseren
Nu je hebt gezien hoe je meerdere modellen out-of-the-box kunt evalueren, ga je drie regressiemodellen bouwen om het "energy"-niveau van een nummer te voorspellen.
Aan de gegevensset music_df zijn dummyvariabelen voor "genre" toegevoegd. Ook zijn de feature- en target-arrays gemaakt en opgesplitst in X_train, X_test, y_train en y_test.
De volgende modules zijn voor je geïmporteerd: LinearRegression, Ridge, Lasso, cross_val_score en KFold.
Deze oefening maakt deel uit van de cursus
Supervised Learning met scikit-learn
Oefeninstructies
- Schrijf een for-lus met
modelals iterator enmodel.values()als iterable. - Voer cross-validatie uit op de trainingsfeatures en de trainingstarget-array met het model, waarbij je
cvgelijk zet aan hetKFold-object. - Voeg de cross-validatiescores van het model toe aan de lijst
results. - Maak een boxplot die de resultaten toont, met op de x-as de namen van de modellen als labels.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
models = {"Linear Regression": LinearRegression(), "Ridge": Ridge(alpha=0.1), "Lasso": Lasso(alpha=0.1)}
results = []
# Loop through the models' values
for ____ in models.values():
kf = KFold(n_splits=6, random_state=42, shuffle=True)
# Perform cross-validation
cv_scores = ____(____, ____, ____, cv=____)
# Append the results
____.____(____)
# Create a box plot of the results
plt.____(____, labels=____.____())
plt.show()