【发布时间】:2014-06-08 01:02:16
【问题描述】:
我有一些带有预测变量和二进制目标的数据。例如:
df <- data.frame(a=sort(sample(1:100,30)), b= sort(sample(1:100,30)),
target=c(rep(0,11),rep(1,4),rep(0,4),rep(1,11)))
我使用glm()训练了一个逻辑回归模型
model1 <- glm(formula= target ~ a + b, data=df, family=binomial)
现在我正在尝试预测输出(例如,相同的数据就足够了)
predict(model1, newdata=df, type="response")
这会生成一个概率数向量。但我想预测实际的班级。我可以在概率数上使用 round() ,但这假设低于 0.5 的任何东西都是“0”类,而高于 0.5 的任何东西都是“1”类。这是一个正确的假设吗?即使每个班级的人口可能不相等(或接近相等)?或者有没有办法估计这个阈值?
【问题讨论】:
-
有不同的标准,例如敏感性和特异性之和最大的点,例如这个问题:stackoverflow.com/questions/23131897/…
-
@adibender 谢谢!但是将阈值用作人口比例肯定是不正确的,对吗?也就是说,如果在总体中,30% 的病例是“0”,70% 的病例是“1”,那么幼稚的估计就是使用 0.3 作为阈值。但这不是解决这个问题的合乎逻辑的方法吗?
-
您可以在这里找到关于该主题的精彩教程:hopstat.wordpress.com/2014/12/19/…
标签: r glm predict logistic-regression