Pas een logistisch regressiemodel toe
Zodra je je willekeurige trainings- en testsets hebt, kun je met de functie glm() een logistisch regressiemodel fitten op je trainingsset. glm() is een geavanceerdere versie van lm() die naast de standaard ordinary least squares-regressie ook andere regressietypen ondersteunt.
Geef zeker het argument family = "binomial" mee aan glm() om aan te geven dat je logistische (in plaats van lineaire) regressie wilt doen. Bijvoorbeeld:
glm(Target ~ ., family = "binomial", dataset)
Maak je geen zorgen over waarschuwingen zoals glm.fit: algorithm did not converge of glm.fit: fitted probabilities numerically 0 or 1 occurred. Dit komt vaak voor bij kleine gegevenssets en veroorzaakt meestal geen problemen. Het betekent doorgaans dat je gegevensset perfect te scheiden is, wat lastig kan zijn voor de wiskunde achter het model, maar R's glm()-functie is bijna altijd robuust genoeg om dit zonder problemen aan te kunnen.
Zodra je een glm()-model op je gegevensset hebt gefit, kun je de uitkomst (bijv. rots of mijn) op de test-set voorspellen met de functie predict() en het argument type = "response":
predict(my_model, test, type = "response")
Deze oefening maakt deel uit van de cursus
Machine Learning met caret in R
Oefeninstructies
- Fit een logistische regressie,
modelgenoemd, omClasste voorspellen met alle andere variabelen als voorspellers. Gebruik de trainingsset vanSonar. - Voorspel met dat model op de
test-set. Noem het resultaatp, zoals je eerder hebt gedaan.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Fit glm model: model
# Predict on test: p