Vorhersage auf dem Testset
Jetzt, wo du das Training-Set und das Test-Set zufällig aufgeteilt hast, kannst du die Funktion lm() wie in der ersten Übung verwenden, um ein Modell auf dein Training-Set statt auf den gesamten Datensatz zu fitten. Denk daran, dass du die Formel-Schnittstelle der linearen Regressionsfunktion nutzen kannst, um ein Modell mit einer angegebenen Zielvariable zu fitten, wobei alle anderen Variablen im Datensatz als Prädiktoren verwendet werden:
mod <- lm(y ~ ., training_data)
Mit der Funktion predict() kannst du auf neuen Daten Vorhersagen aus diesem Modell erzeugen. Der neue Datensatz muss alle Spalten aus den Trainingsdaten enthalten, sie dürfen jedoch in anderer Reihenfolge und mit anderen Werten vorliegen. Hier kannst du statt auf dem Training-Set auf dem Test-Set vorhersagen, das du nicht zum Trainieren des Modells verwendet hast. So kannst du im nächsten Schritt den Out-of-Sample-Fehler des Modells bestimmen:
p <- predict(model, new_data)
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit caret in R
Anleitung zur Übung
- Fitte ein
lm()-Modell namensmodel, umpricemithilfe aller anderen Variablen als Kovariaten vorherzusagen. Verwende dafür unbedingt das Training-Settrain. - Sage auf dem Test-Set
testmitpredict()voraus. Speichere diese Werte in einem Vektor namensp.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Fit lm model on train: model
# Predict on test: p