Ein logistisches Regressionsmodell fitten
Sobald du zufällige Trainings- und Testmengen erstellt hast, kannst du mit der Funktion glm() ein logistisches Regressionsmodell auf dein Training-Set fitten. glm() ist eine weiterentwickelte Version von lm() und ermöglicht neben der einfachen linearen Regression unterschiedliche Regressionsarten.
Achte darauf, das Argument family = "binomial" an glm() zu übergeben, um zu spezifizieren, dass du eine logistische (und keine lineare) Regression durchführen willst. Zum Beispiel:
glm(Target ~ ., family = "binomial", dataset)
Mach dir keine Sorgen über Warnungen wie glm.fit: algorithm did not converge oder glm.fit: fitted probabilities numerically 0 or 1 occurred. Diese treten bei kleineren Datensätzen häufig auf und verursachen normalerweise keine Probleme. Sie bedeuten typischerweise, dass dein Datensatz perfekt separierbar ist, was die Mathematik hinter dem Modell erschweren kann. R's glm()-Funktion ist in diesem Fall jedoch fast immer robust genug und kommt damit problemlos zurecht.
Sobald du ein glm()-Modell auf deinen Datensatz gefittet hast, kannst du das Ergebnis (z. B. rock oder mine) auf dem test-Set mit der Funktion predict() und dem Argument type = "response" vorhersagen:
predict(my_model, test, type = "response")
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit caret in R
Anleitung zur Übung
- Fitte eine logistische Regression namens
model, umClassmithilfe aller anderen Variablen als Prädiktoren vorherzusagen. Verwende dafür das Training-Set vonSonar. - Sage mit diesem Modell auf dem
test-Set voraus. Nenne das Ergebnis wie zuvorp.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Fit glm model: model
# Predict on test: p