如何从glm逻辑回归预测多类概率?

问题描述 投票:1回答:1

我有10个具有二元和多类因子的数据集,我使用逻辑回归和R“glm”来预测类概率class,prediction(formula,data,type="response")。我怎样才能获得预测的课程,就像其他模特一样?例如:

df=data.frame(y=c(1,0,0,1),x1=c(1,2,3,4),x2=c(12,13,43,3))
df$y=as.factor(df$y)
testdf=data.frame(y=c(1,1,0,0),x1=c(11,16,65,8),x2=c(3,2,5,0))
testdf$y=as.factor(testdf$y)
model_glm=glm(y~.,data=df,family="binomial")
pred_glm=predict(model_glm,newdata=testdf,type="response")

这将给出概率预测:

> pred_glm
           1            2            3            4 
2.220446e-16 2.220446e-16 2.220446e-16 2.220446e-16
  • 但是我需要类预测是否为0或1.或者两列中的概率预测:一列是1级,另一列是0级?
  • 当我有多班时它怎么用?
r classification logistic-regression glm multiclass-classification
1个回答
0
投票

我有一些问题与我的数据一起做这件事。为了预测您必须首先创建逻辑回归

lgr= glm(y ~ x1 + x2 +x3...x10, data=df1)

那么你可以从那里预测或玩弄你的模型:

新预测:注意df1和df2的长度必须相同(如果需要,添加NA)

predicts= predict(lgr, newdata= "df2")

然后看它并用它来进行演示,等等。我会写它到csv

write.csv(predicts, "K:/filelocation/filename.csv")

编辑如果尝试根据预测进行分类,则需要进行特异性和灵敏度计算。见:https://stats.stackexchange.com/questions/25389/obtaining-predicted-values-y-1-or-0-from-a-logistic-regression-model-fit/25398#25398?newreg=2f9713d7d60f427d9e123208c39f69f8

© www.soinside.com 2019 - 2024. All rights reserved.