r - 预测 3 个水平的因子并返回每个因子的百分比

标签 r machine-learning glm predict

我试图用一组变量来预测一个三水平因子。该组为 A、B 和 C。

m<-glm(as.factor(Group)~Sex+BloodType+Pressure,data=Hel,family = "binomial")

newdata <- data.frame(Sex="M",BloodType="A+", Pressure=80)

predict(m,newdata)

返回:

        1 
0.7133324 

我希望它能回馈给我:

A        B        C
20.00   40.00    40.000

我该怎么做?谢谢。

最佳答案

有两个问题需要解决:

首先,glm 只能进行具有两级结果的逻辑回归。如果您提供的结果变量具有两个以上级别,则会将除第一个(引用)级别之外的所有级别合并到第二个级别中。要进行多项式回归,您需要使用不同的函数(有多个包可以进行多项式回归,例如,MASS 包中的 polr >multinom 来自 nnet 包(参见 @Stupidwolf 的回答),vglm 来自 VGAM 包;另请参见 mlogitgmnl 包)。

其次,predict(m1, newdata) 提供对数赔率范围的预测。要获得概率范围的预测,您需要执行 predict(m1, newdata, type="response")。需要设置类似的选项(尽管参数和/或参数选项的名称可能不同)才能获得多项模型概率尺度的预测。

关于r - 预测 3 个水平的因子并返回每个因子的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59383436/

相关文章:

machine-learning - 用最少的上下文对原始文本进行情感分析和有效聚类

r - 如何使用 R 在回归分析中设置变量的对比?

使用 Shiny 从远程主机读取 .RDS 文件

R - 从数据框中删除差异小于 30 天的行

r - 将数据帧的所有列合并到一个回归中

R ggplot 方面 : varying x axis formatting and varying aesthetics by facet

r - 文本替换——模式是一组字符串[r]

受限玻尔兹曼机

machine-learning - Caffe 只训练一个标签

r - Caret 的 train() 和 resamples() 反转 GLM 的敏感性/特异性