Ich versuche hier mit einigen Daten zu arbeiten und die Testleistung von glm und lda zu vergleichen.Vergleichen Testleistungen
Die Daten sind hier angehängt.
Dies ist mein allgemeinen Plan zu versuchen, diese beiden zu tun:
training = read.csv("train.csv")
testing = read.csv("test.csv")
model_glm <- glm(V1 ~.,family=binomial(link='logit'),data=training)
pred_glm <- predict(model_glm, testing)
library(MASS)
model_lda <- lda(V1 ~ ., data=training)
predict_lda <- predict(model_lda, testing)
#Calculating classification error
err_lda <- (pred_lda) - test$V1
err2_lda <- err_lda[err_lda != 0]
classification_error_lda = length(err2_lda)/length(test$V1)
jedoch diese nicht funktionieren. Ich dachte, es gäbe eine multinomiale Familienklasse, aber das scheint nicht zu existieren. Auch, da meine erste Spalte die Ziffern und die nächsten alle Graustufenwerte sind, dachte ich, ich mache V1 ~ .
, aber ich denke nicht, dass das auch für diese Fälle richtig ist. Hat jemand eine Idee, wenn meine Syntax/Setup falsch ist?
edit: Ich fügte hinzu, wie ich versuche, Klassifikationsfehler für LDA zu berechnen. Allerdings glaube ich nicht, meine ursprüngliche Sache funktioniert, wie es gibt:
Error in (pred_lda) - test$V1 : non-numeric argument to binary operator
'pred_glm <- (model_glm, Prüfung)' tut nichts. Sie suchen nach 'pred_glm <- predict (model_glm, testing)'. – Phil
Oh, tut mir leid, das war ein Tippfehler meinerseits - ich habe vorhergesagt (model_glm, testing). Aber das gibt mir die gleiche Antwort wie lm ... und ich sollte hier eine logarithmische Multiklassen-Regression durchführen. Ich bin mir aber nicht ganz sicher, wie ich das in diesem Fall umsetzen soll. –