Fscore是定义错误的sciki

2024-05-19 09:47:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我知道这个问题已经被问过很多次了,但是我对这个警告感到困惑,因为我仍然得到f1的分数。对我来说,不是零。在

我已经计算了F1分数的微型和它的工作很好,没有警告。但当我计算宏的f1score时,它会给我一个警告。我得到了准确的分数和回忆。两者都不是零。它们很小,例如0.01或0.001。和f1score一样,也不是零。但我不知道为什么我会得到这个警告。正如我在其他帖子中所读到的,这可能是因为准确度或召回率是零,所以你在跳水。但在我的例子中,我有一些值而不是零。在

以下是确切的警告:

UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.
  'precision', 'predicted', average, warn_for)

那么我能相信结果,避免警告吗?


Tags: 警告is分数帖子例子f1score我会
1条回答
网友
1楼 · 发布于 2024-05-19 09:47:19

f1_scoref1_score将首先分别计算每个标签的分数,然后找到它们的未加权平均值。在

因此,如果您有多个类(标签),那么其中一个不在预测数据中。在这种情况下,您将收到该标签的警告,而f1将为0。但其他的标签仍然会有一些非零值。所以平均值不是零。在

例如:

from sklearn.metrics import f1_score
y_true = [0, 1, 2, 0, 1, 2]
y_pred = [0, 1, 1, 0, 0, 0]
f1_score(y_true, y_pred, average='macro')

/usr/local/lib/python2.7/dist-packages/sklearn/metrics/classification.py:1135: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 in labels with no predicted samples.

^{pr2}$

在上面的例子中,预测的数据不包含标签2,警告就是针对这个。在

现在,关于依赖与否的问题,请参见相关问题:

相关问题 更多 >

    热门问题