Kreuzvalidierung und Bestimmtheitsmaß
Die Kreuzvalidierung ist ein wichtiger Ansatz, um ein Modell zu bewerten. Sie maximiert die Menge der Daten, die dem Modell zur Verfügung stehen, da das Modell mit allen verfügbaren Daten nicht nur trainiert, sondern auch getestet wird.
In dieser Übung erstellst du ein Modell für die lineare Regression und bewertest durch eine 6-fache Kreuzvalidierung seine Genauigkeit bei der Vorhersage von Umsätzen infolge von Werbeausgaben in sozialen Medien. Am Ende lässt du die erzielte Leistung für alle sechs Teilmengen anzeigen.
Der Datensatz sales_df
wurde bereits geladen und in y
für die Zielvariable und X
für die Merkmale aufgeteilt. LinearRegression
wurde aus sklearn.linear_model
importiert.
Diese Übung ist Teil des Kurses
Überwachtes Lernen mit scikit-learn
Anleitung zur Übung
- Importiere
KFold
undcross_val_score
. - Erstelle
kf
, indem duKFold()
aufrufst und dabei die Anzahl der Teilmengen (Splits) auf 6,shuffle
aufTrue
und den Startwert (Seed) auf5
setzt. - Führe eine Kreuzvalidierung mit
reg
fürX
undy
durch und übergibkf
ancv
. - Gib
cv_scores
aus.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Import the necessary modules
from ____.____ import ____, ____
# Create a KFold object
kf = ____(n_splits=____, shuffle=____, random_state=____)
reg = LinearRegression()
# Compute 6-fold cross-validation scores
cv_scores = ____(____, ____, ____, cv=____)
# Print scores
print(____)