F1 分数与准确率,哪个指标更重要?

数据挖掘 分类
2021-10-06 00:58:31

我有两个用于进行预测的多类分类模型(准确地说是三个类)。一个是 Keras 神经网络,另一个是来自 Scikit Learn 库的 Gradient Boosted Classifier。

我注意到,在对相同数据进行训练后,GBC 的准确度得分更高,而 Keras 模型的 F1 得分更高。我应该使用哪种模型来预测未来数据?哪个指标更重要?

1个回答

好吧,它高度依赖于您的用例以及您的数据是如何分布的。

让我在实践中分解利弊:

F1-分数

优点:

  • 考虑数据的分布方式。当您有不平衡类的数据时很有用。

缺点:

  • 难以解释。精度和召回率比 f1-score 更易于解释,因为它衡量的是 1 类错误和 2 类错误。但是,f1-score 衡量了这两者之间的权衡。
  • 当正类是少数类时,在基本事实为正的地方切换时,分数非常敏感。

准确性

优点:

  • 容易明白。

缺点:

  • 它没有考虑数据的分布方式(下面的示例)。这个错误可能很关键,并可能导致错误的结论。

这是一个描述准确性缺点的示例。不失一般性,考虑一个二元分类任务。想象一下有一个数据,其中包含 100 个样本,其中 90 个负样本和 10 个正样本。假设您有一个预测所有否定的分类器。您将获得 90% 的准确率,但让我们考虑 f1 分数,您实际上会得到 0,因为您的召回率(这是 f1 分数的一个组成部分)为 0。

在实践中,对于多类分类模型(这是您的用例),准确性最受青睐。f1 通常用于类高度不平衡的多标签或二元标签。