减少误报 ML 模型

Reducing False positives ML models

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

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

目前我正在对两个 class 进行加权以惩罚 class“0”上的错误。

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

正如预期的那样,它确实降低了 pred > 0.8 区域的 fpr,当然它会恶化 class 1.

的召回率

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

谢谢

根据你的问题,你可以考虑一个-class classification svm。这篇文章可能有用:https://towardsdatascience.com/outlier-detection-with-one-class-svms-5403a1a1878c。这篇文章还说明了为什么一个 class class 化比其他一些 class 化技术更值得考虑,例如 oversampling/undersampling 或 class 加权。不过当然要看你想解决什么问题了。