LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Fitte eine logistische Regression namens model, um Class mithilfe aller anderen Variablen als Prädiktoren vorherzusagen. Verwende dafür das Training-Set von Sonar.
  • Sage mit diesem Modell auf dem test-Set voraus. Nenne das Ergebnis wie zuvor p.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Fit glm model: model


# Predict on test: p
Code bearbeiten und ausführen