Logistische Regression (confusionMatrix oder sunflowerplot)
Verfasst: So Dez 20, 2020 8:33 pm
Hallo zusammen,
Ich probiere mich erstmals an logistischer Regression. Ich habe zwei verschiedene Methoden entdeckt und stoße durchgehend auf Fehler. Nun komme ich nicht mehr weiter.
Hier mein Code:
Variante1:
Fehler in confusionMatrix.default(factor(Daten2$Kauf01), factor(pred)) : the data cannot have more levels than the reference
Dann habe ich es mit „table“ probiert und eine ähnliche Fehlermeldung erhalten: Fehler in table(factor(Daten2$Kauf01), factor(pred)) : alle Argumente müssen die selbe Länge haben
Ich habe die Level überprüft, beide sind NULL
Hier meine 2.Variante mit der Fehlermeldung Fehler in rep.int(i.multi, number[number > 1]) : ungültige 'times' Werte:
Über jeden Tipp bin ich sehr dankbar.
Beste Grüße
Jan
Ich probiere mich erstmals an logistischer Regression. Ich habe zwei verschiedene Methoden entdeckt und stoße durchgehend auf Fehler. Nun komme ich nicht mehr weiter.
Hier mein Code:
Code: Alles auswählen
Daten2 <- read.csv("Daten2.csv", header=T, sep = ";")
library(caret)
library(ggplot2)
library(plotROC)
Code: Alles auswählen
modell2 <- as.formula(Daten2$Kauf01~Daten2$Alter..Kategorien..5.Jahre.)
logit2 <- glm(modell2, family = binomial, data = Daten2)
summary(logit2)
logit2MinAIC <- step(logit2)
summary(logit2MinAIC)
pred <- ifelse(fitted(logit2) > 0.5, 1, 0)
confusionMatrix(factor(Daten2$Kauf01), factor(pred))
Dann habe ich es mit „table“ probiert und eine ähnliche Fehlermeldung erhalten: Fehler in table(factor(Daten2$Kauf01), factor(pred)) : alle Argumente müssen die selbe Länge haben
Code: Alles auswählen
confusionMatrix(table(Daten2$Kauf01), factor(pred))
table(factor(Daten2$Kauf01), factor(pred))
Code: Alles auswählen
levels(pred)
levels(Daten2$Kauf01)
Code: Alles auswählen
Alter <- Daten2$Alter..Kategorien..5.Jahre.
Alter.Ergebnis <- glm(Daten2$Kauf01 ~ Alter, family = binomial("logit"))
coef(Alter.Ergebnis)
summary(Alter.Ergebnis)
Alter.min = 2
Alter.max = 12
Alter.X = seq(Alter.min, Alter.max, by = 1)
Alter.Modell <- data.frame(Alter = Alter.X)
head(Alter.Modell)
tail(Alter.Modell)
Alter.Prognose <- predict(Alter.Ergebnis,Alter.Modell, type = "response")
sunflowerplot(Alter, Daten2$Kauf01, main = "Darstellung der Prognose", xlab = "Alter", ylab="Wahrscheinlichkeit P für Kauf des Tickets")
Beste Grüße
Jan