Original Text in German (Deutsche Übersetzung)
R - Logistische Regression
Erstellen des Regressionsmodells
Willkommen in der Welt der logistischen Regression in R! In diesem Tutorial führen wir Sie durch die Grundlagen der Erstellung eines logistischen Regressionmodells mit R. Wir beginnen mit einigen grundlegenden Konzepten und tauchen dann in den Code ein. Denken Sie daran, dass dies für Anfänger ohne Vorerfahrung im Programmieren konzipiert ist,also keine Sorge, wenn Sie sich initially etwas verloren fühlen. Los geht's!
Was ist Logistische Regression?
Die logistische Regression ist ein statistisches Verfahren zur Analyse von Daten und zur Vorhersage basierend auf einer oder mehreren Prädiktoren. Sie wird oft für binäre Klassifikationsprobleme verwendet, bei denen das Ergebnis entweder "ja" (1) oder "nein" (0) sein kann. Der entscheidende Unterschied zwischen logistischer Regression und linearer Regression besteht darin, dass die logistische Regression die Wahrscheinlichkeit eines Ergebnisses vorhersagt, während die lineare Regression einen kontinuierlichen Wert vorhersagt.
Warum Logistische Regression verwenden?
Die logistische Regression wird in verschiedenen Bereichen wie Gesundheitswesen, Finanzen, Marketing und Sozialwissenschaften weit verbreitet verwendet. Sie ist besonders nützlich, wenn Sie die Beziehung zwischen einem binären Ergebnis und einer oder mehreren Prädiktoren verstehen möchten. Zum Beispiel könnten Sie die logistische Regression verwenden, um vorzusagen, ob ein Kunde ein Produkt kaufen wird, basierend auf seinem Alter, Einkommen und Kaufhistorie.
Erstellen eines Logistischen Regressionmodells in R
Um ein logistisches Regressionmodell in R zu erstellen, verwenden wir die Funktion glm()
, die für Generalized Linear Models steht. Hier ist eine Schritt-für-Schritt-Anleitung:
Schritt 1: Installieren und Laden der notwendigen Bibliotheken
Zuerst müssen Sie die notwendigen Bibliotheken installieren und laden. Wir verwenden die Bibliothek tidyverse
für Datenmanipulation und Visualisierung und die Bibliothek caret
für das Modellieren.
install.packages("tidyverse")
install.packages("caret")
library(tidyverse)
library(caret)
Schritt 2: Daten laden
Als nächstes laden wir einen Datensatz. Für dieses Beispiel verwenden wir den integrierten mtcars
-Datensatz, der Informationen über verschiedene Automodelle enthält. Wir konzentrieren uns darauf, vorherzusagen, ob ein Auto ein Sportauto ist, basierend auf seinem Gewicht und Leistung.
data(mtcars)
head(mtcars)
Schritt 3: Daten vorverarbeiten
Bevor wir das logistische Regressionmodell erstellen, müssen wir die Daten vorverarbeiten. Dies umfasst das Codieren kategorischer Variablen, die Behandlung fehlender Werte und das Skalieren von Merkmalen. In unserem Fall haben wir nur numerische Variablen,also müssen wir keine Codierung oder Skalierung vornehmen. Allerdings erstellen wir eine neue binäre Variable namens is_sports_car
, um anzuzeigen, ob ein Auto ein Sportauto ist oder nicht.
mtcars <- mtcars %>%
mutate(is_sports_car = ifelse(hp > 150, 1, 0))
Schritt 4: Daten in Trainings- und Testsets aufteilen
Es ist wichtig, die Daten in Trainings- und Testsets aufzuteilen, um die Leistung unseres Modells zu bewerten. Wir verwenden die Funktion createDataPartition()
aus dem caret
-Paket, um eine Partition zu erstellen.
set.seed(123)
trainIndex <- createDataPartition(mtcars$is_sports_car, p = 0.8, list = FALSE)
trainSet <- mtcars[trainIndex, ]
testSet <- mtcars[-trainIndex, ]
Schritt 5: Logistisches Regressionmodell erstellen
Nun sind wir bereit, unser logistisches Regressionmodell zu erstellen. Wir verwenden die Funktion glm()
mit dem Argument family
auf binomial
gesetzt, um anzugeben, dass wir eine logistische Regression durchführen möchten.
model <- glm(is_sports_car ~ wt + hp, data = trainSet, family = binomial)
summary(model)
Die Funktion summary()
bietet eine Übersicht über das Modell, einschließlich Koeffizienten, Standardfehler, t-Werte und p-Werte. Diese Statistiken helfen uns zu verstehen, wie wichtig jeder Prädiktor ist und ob sie statistisch signifikant sind.
Schritt 6: Vorhersagen treffen und das Modell bewerten
Sobald wir unser Modell haben, können wir es verwenden, um Vorhersagen im Testset zu treffen und seine Leistung zu bewerten. Wir verwenden die Funktion predict()
, um vorhergesagte Wahrscheinlichkeiten zu erzeugen und diese dann mit einer Schwelle von 0.5 in binäre Ergebnisse umzuwandeln.
predictions <- predict(model, newdata = testSet, type = "response")
predicted_classes <- ifelse(predictions > 0.5, 1, 0)
Nun berechnen wir die Genauigkeit unseres Modells, indem wir die vorhergesagten Klassen mit den tatsächlichen Klassen im Testset vergleichen.
accuracy <- mean(predicted_classes == testSet$is_sports_car) * 100
cat("Genauigkeit:", accuracy, "%")
Und voilà! Sie haben erfolgreich ein logistisches Regressionmodell in R mit der Funktion glm()
erstellt. Denken Sie daran, dass dies nur ein einfaches Beispiel ist, und es gibt viele andere Faktoren zu berücksichtigen, wenn man ein und ein logistisches Regressionmodell erstellt und bewertet, wie Feature-Auswahl, Regularisierung und Modellanpassung. Aber das sollte Ihnen einen guten Ausgangspunkt für Ihre Reise in die Welt der logistischen Regression in R geben.
Credits: Image by storyset