【发布时间】:2017-02-16 06:27:30
【问题描述】:
我正在尝试在这里处理一些数据并比较 glm 和 lda 的测试性能。
数据附在此处。
这是我尝试做这两个的总体计划:
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)
但是这些都不起作用。我以为有一个多项式家庭课程,但似乎不存在。另外,由于我的第一列是数字,而下一个都是灰度值,所以我想我会做V1 ~ .,但我认为这对于这些情况也不正确。有人知道我的语法/设置是否错误吗?
编辑:我添加了我如何尝试计算 LDA 的分类错误。但是我不认为我原来的东西有效,因为它给出了:
(pred_lda) 中的错误 - test$V1 : 二元运算符的非数字参数
【问题讨论】:
-
pred_glm <- (model_glm, testing)什么都不做。您正在寻找pred_glm <- predict(model_glm, testing)。 -
哦,对不起,这是我的错字 - 我确实有预测(model_glm,测试)。然而,这给了我与 lm 相同的答案......我应该在这里进行多类逻辑回归。不过,我不完全确定在这种情况下如何实现。
标签: r machine-learning logistic-regression linear-discriminant