Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Schrijf een for-lus met model als iterator en model.values() als iterable.
  • Voer cross-validatie uit op de trainingsfeatures en de trainingstarget-array met het model, waarbij je cv gelijk zet aan het KFold-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()
Code bewerken en uitvoeren