【问题标题】:Reducing False positives ML models减少误报 ML 模型
【发布时间】:2021-04-14 03:52:03
【问题描述】:

在训练 ML 模型时,有没有很好的方法来限制误报?

假设您从具有两个类别的平衡数据集开始。您开发了一个用于二元分类的 ML 模型。由于任务很简单,输出分布将分别在 0 和 1 达到峰值,并在 0.5 左右重叠。然而你真正关心的是你的误报率是可持续的,不能超过一定的量。 所以充其量你希望 pred > 0.8 你只有一个类。

目前我正在权衡两个类以惩罚“0”类的错误。

history = model.fit(..., class_weight={0:5, 1:1}, ...)

正如预期的那样,它确实降低了 pred > 0.8 区域的 fpr,当然它会恶化第 1 类的召回率。

我想知道是否有其他方法可以强制执行此操作。

谢谢

【问题讨论】:

    标签: python tensorflow machine-learning precision-recall


    【解决方案1】:

    根据您的问题,您可以考虑一类分类 svm。这篇文章很有用:https://towardsdatascience.com/outlier-detection-with-one-class-svms-5403a1a1878c。这篇文章还展示了为什么要考虑使用一类分类而不是其他一些经典技术,例如过采样/欠采样或类加权。但当然这取决于您要解决的问题。

    【讨论】:

    • 谢谢!这是一篇有趣的文章。我已经尝试过异常检测,但我认为我的数据集有点奇怪。这方面的表现还可以,但是对于相同的 fpr,具有不平衡性的简单模型在召回率上至少可以提高约 10%。我会看看其他异常值检测技术,它们看起来很有趣
    猜你喜欢
    • 1970-01-01
    • 2019-03-30
    • 1970-01-01
    • 2015-12-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-06
    相关资源
    最近更新 更多