我刚刚读完一篇关于 F1 分数、召回率和准确率的文章。一切都很清楚,除了作者在他的示例中(参见https://towardsdatascience.com/beyond-accuracy-precision-and-recall-3da06bea9f6c#a9f0)使用他的模型输出的阈值来播放F1 分数、召回率和精度值。
所以我的问题是:像作者在他的文章中那样使用阈值是否有良心?
在我看来,这就像一种手动过拟合,但也许我误解了一些东西......
我刚刚读完一篇关于 F1 分数、召回率和准确率的文章。一切都很清楚,除了作者在他的示例中(参见https://towardsdatascience.com/beyond-accuracy-precision-and-recall-3da06bea9f6c#a9f0)使用他的模型输出的阈值来播放F1 分数、召回率和精度值。
所以我的问题是:像作者在他的文章中那样使用阈值是否有良心?
在我看来,这就像一种手动过拟合,但也许我误解了一些东西......
好问题。使用阈值非常好,不是“手动过拟合”。
它不是手动的,因为这是一个可以(并且应该)自动完成的步骤。它不会过度拟合,因为它不会修改模型本身。它会修改您解释模型输出的方式。
用户所做的实际称为成本敏感学习。这是一种技术,您可以定义哪个错误的成本更高,这些成本反映在您使用的性能指标中。
我可以理解为什么它可能会让人感觉过拟合,但重要的是要理解你在这里所做的只是手工制作一个性能指标,你将使用它来评估你的模型。您的模型将简单地尝试优化此指标。