使用predict()时,具有二进制响应变量的Logistic回归模型不会输出1和0

时间:2019-06-10 03:33:03

标签: r predict training-data glmnet

我有训练和测试数据集。因变量是二进制,我已将其转换为“ 1”和“ 0”,而不是“是/否”。其余变量是类别的(不超过三个类别),数字的(比例)和整数。我没有事先标准化或标准化任何变量。

尽管我认为我已经指出了问题,但是我有可以解决先前问题的代码,而该问题在我当前的项目中不起作用,我无法弄清楚原因。

当我将模型应用于每个训练和测试数据集时,它的预测值是十进制数字,而不是“ 1”和“ 0”。

因此,当我去计算测试误差时,我得到100%,因为这些预测值都不与数据集中的任何“ 1”和“ 0”匹配。

感谢您的帮助

logisticmodel<-glmnet(train2.loan_status~.,data=train2, family = "binomial")


#training error
logisticmodel.train.pred<-predict(logisticmodel, newdata = train2)

1- sum(logisticmodel.train.pred ==     train2 $ train2.loan_status)/ length(logisticmodel.pred)

#testing error
colnames(testfinal)<-colnames(train2)
logisticmodel.test.pred<-predict(logisticmodel, newdata = testfinal)

1- sum(logisticmodel.test.pred ==     testfinal $ train2.loan_status)/ length(logisticmodel.test.pred)

0 个答案:

没有答案