我使用OptimalCutpoints
包来确定不平衡二进制分类问题中概率预测的最佳切点。我选择NO
类作为健康类(大部分因变量是NO
)。使用代码我尝试提取最佳切割点以平衡预测的敏感性和特异性。我的问题是,我应该假设模型预测的概率应该大于或小于最佳切割点,以将其归类为YES
。这可能是一个简单的问题,但是,在我使用不同模型的数据集中,我观察到有时候通过取> =和其他时间< =来表示更好的结果。
optimal_cutpoint <- optimal.cutpoints(
X = "score",
status = "true",
tag.healthy = 'NO',
methods = "MaxSpSe",
data = data.frame(score = predict(model, df_train, type="prob")$YES
, true = df_train$y),
control = control.cutpoints()
)
optimal_cutpoint <- optimal_cutpoint$MaxSpSe$Global$optimal.cutoff$cutoff[1]
答案 0 :(得分:0)
从包装文档中获取:
“……测试值低于临界值的个人被归为健康(阴性测试),而测试值大于(或等于)临界值的患者被归类为患病(阳性测试)。”
因此,在您的示例中,低于临界点的概率应分类为否。
答案 1 :(得分:0)
在使用条件>=
和<=
之间发现的差异只是逻辑上的差异。有条件的<=
也等同于严格的>
。
If
(a >= 2)
then "non-healthy"
If
(a <= 2)
then "healthy"
,也等同于说if
(a > 2)
then "non-healhty"
< / p>