Aan de slagGa gratis aan de slag

Voorspellen op testset

Nu je de gegevens willekeurig hebt opgesplitst in een trainingsset en een testset, kun je de functie lm() gebruiken, net zoals in de eerste oefening, om een model te fitten op je trainingsset in plaats van op de volledige gegevensset. Onthoud dat je de formule-interface van de lineaire regressiefunctie kunt gebruiken om een model te fitten met een opgegeven doelvariabele en alle andere variabelen in de gegevensset als voorspellers:

mod <- lm(y ~ ., training_data)

Je kunt de functie predict() gebruiken om met dat model voorspellingen te maken voor nieuwe data. De nieuwe gegevensset moet alle kolommen bevatten die ook in de trainingsdata staan, maar ze mogen in een andere volgorde staan en andere waarden hebben. In plaats van opnieuw te voorspellen op de trainingsset, kun je hier voorspellen op de testset, die je niet hebt gebruikt om het model te trainen. Hiermee kun je in de volgende oefening de out-of-sample-fout voor het model bepalen:

p <- predict(model, new_data)

Deze oefening maakt deel uit van de cursus

Machine Learning met caret in R

Cursus bekijken

Oefeninstructies

  • Fit een lm()-model genaamd model om price te voorspellen met alle andere variabelen als covariaten. Gebruik daarbij de trainingsset train.
  • Voorspel op de testset test met predict(). Sla deze waarden op in een vector p.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Fit lm model on train: model


# Predict on test: p
Code bewerken en uitvoeren