繁体   English   中英

在 R 中的逻辑回归模型中获取测试错误

[英]Get test error in a logistic regression model in R

我正在使用 R 中包含的Auto数据集在 R 中进行逻辑回归实验。

我已经得到训练部分 (80%) 和测试部分 (20%) 分别标准化每个部分。

我可以在没有任何问题的情况下创建模型:

mlr<-glm(mpg ~ 
displacement + horsepower + weight, data =train)

我什train$mpg可以用火车集预测train$mpg

trainpred<-predict(mlr,train,type="response")

并以此计算样本误差:

etab <- table(trainpred, train[,1])
insampleerror<-sum(diag(etab))/sum(etab)

当我想用测试集进行预测时,问题就来了。 我使用以下行:

testpred<-predict(model_rl,test,type="response")

这给了我这个警告:

'newdata' 有 79 行,但发现的变量有 313 行

但它不起作用,因为testpred具有相同长度的trainpred (应该更少)。 当我想使用testpred和以下行计算测试中的错误时:

etabtest <- table(testpred, test[,1])

我收到以下错误:

错误 en table(testpred, test[, 1]) :
所有参数必须具有相同的长度

我做错了什么?

如果有人有同样的问题,我会回答我自己的问题:

当我将参数放入glm我说的是我想预测的内容,这是带有train数据的 Auto$mpg 标签,因此,我的glm调用必须是:

attach(Auto)
mlr<-glm(mpg ~ 
displacement + horsepower + weight, data=Auto, subset=indexes_train)

如果现在我调用predicttable等,则结构大小没有任何问题。 修改这个错误对我有用。

正如 imo 所说:“更重要的是,您可能会检查这是否会创建逻辑回归。我认为它实际上是 OLS。您必须设置链接和家庭参数。”

设置家庭 = '二项式'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM