【发布时间】:2018-07-26 08:07:20
【问题描述】:
我正在尝试根据变量User、Planning Horizon、Material 等为“Hit”、“Miss”类训练分类器。
大部分都是分类变量,除了Planning Horizon(整数)
我有不平衡的数据,所以我尝试使用阈值来选择模型的最终输出(而不是仅仅使用默认的 0.5 概率)
变量User 对课程结果的影响最大,因此我尝试为每个用户使用不同的阈值。我正在考虑使用朴素贝叶斯后验概率 P(Class|User)。
问题是,我如何将这些不同的规则应用于模型的输出矩阵:
“阈值矩阵”,每个用户都有不同的阈值:
User P("Hit"|User)
A 0.80
B 0.40
C 0.61
分类器的输出(P(Hit)和P(Miss))和最后一列(Final Prediction)是我需要构建的。
User P("Miss") P("Hit") Final Prediction
B 0.79 0.21 Miss
B 0.20 0.80 Hit
A 0.15 0.85 Hit
C 0.22 0.78 Hit
A 0.90 0.10 Miss
B 0.80 0.20 Miss
请注意第一行获得了 MISS,因为 P(Miss) 低于 P(Hit|User=B)
【问题讨论】:
-
如何将您的阈值矩阵合并到结果中,通过比较
P("Hit")和您的P("Hit"|User)再次创建最终预测? -
1. 提供可使用的数据,例如
dput(head(yourData,20))2. 显示并标记您想要的输出。
标签: r machine-learning classification threshold