python-3.x - 将 False Positives 的成本设置为远高于 LightGBM 中 False Negatives 的成本
问题描述
我面临的情况是误报比误报成本高得多。
想象一个模型的案例,该模型用于决定您是否会立即接受非常痛苦和危险的手术,或者您宁愿探索其他可能性,包括咨询更多的 MD 和尝试替代疗法。
如果绝对必要,您不会反对危险而痛苦的手术,但如果模特建议您在没有非常严重的理由的情况下进行手术,您会生气。毕竟,在对您的具体病例进行更彻底的医学调查后,您总是可以在一个月后进行手术。
因此,在这种情况下,假阳性的成本远高于假阴性,至少对您而言。
所以我想以某种方式告诉模型,FP 比 FN 差得多。
我在 Stack Overflow 做了一些研究,他们提出了两种解决方案:
- 将概率转换为类时使用阈值(这不影响训练)
- 增加负类的权重(这会影响训练和决策边界的形状)。
假设是通过增加负类的权重,您可以阻止模型在涉及负类示例时犯错误,即将它们错误分类为正类。
相反,模型将不太愿意在正样本错误分类为负样本方面犯错。
但是当正类是整个数据的一小部分时——例如 3%——这种对负类的过采样很可能会导致分类器总是选择负类,这是一种 Catch22 类型的情况。
你有什么建议?
解决方案
推荐阅读
- c++ - 创建消息接收侦听器时发生 Socket.IO 错误
- json - 如何比较 JOLT 转换中的字段值?
- css - 使用网格材质 UI 时出现响应式设计问题?
- php - 如何检查给定三个数组中的条件
- sql-server - 当所有国家/地区都没有在时区遵循夏令时
- visual-studio-app-center - 成功安装后无法运行 appcenter CLI
- javascript - 雷鸟扩展。如何设置消息编写器正文?
- android - 当应用被杀死时,Job Scheduler 和 WorkManager 被销毁
- java - 如何编辑由调色板组件创建的JTable?
- android - 在 appium 程序时显示错误为“app”选项需要重新安装