首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不平衡类f1分数含义

不平衡类f1分数含义
EN

Stack Overflow用户
提问于 2021-01-04 09:44:11
回答 1查看 322关注 0票数 0
代码语言:javascript
复制
          precision    recall  f1-score   support
Class 0       1.00      0.98      0.99    125000
Class 1       0.33      0.84      0.47      1500

大家好,

在这个模型中,f1分数对预测1类不是很好,1类是少数类。

我的想法是,如果模型能很好地预测0级,为什么我们不直接反转这个问题,预测0级呢?因为只有2个类,如果它不是0类,那么它就是1类。

换句话说,如果模型可以将数据识别为类0,那么它肯定不是类1(特别是当类0的精度为1时)。这意味着模型仍然做得很好。

它是这样工作的吗?为什么不行?

在此之前,非常感谢您。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-04 11:50:42

您是在凭直觉进行对话,即模型确实学习了0类。在这种情况下(数据不平衡),这些分数(高召回率/高精确度)可能有点决定性,意义较小。

让我给你举个例子。如果你指定一个盲人对红苹果和橙苹果进行分类(例如,你有99个红苹果和一个绿苹果作为你的数据)。现在,当你给他一个红苹果(他不知道苹果是什么颜色)时,他只是随机地说“红”,你会很高兴,并给他一个奖励(在ML的视角下,产生较低的损失)。因此,现在他知道说"Red“会给他一个奖励,所以现在他利用这种行为,一直说"Red”(尽管他错过了一个"Green“苹果,但这并不能解释他获得的所有奖励)。现在,如果你不知道这个人是盲人,你可以说:“我可以用他作为苹果分类器,因为他对”红色“苹果非常了解,当它不是”红色“苹果时,我可以将他的分类颠倒过来。”但是你知道这是一个盲人,他不知道一个“红”苹果是不是一个“红”苹果。

我们可以这样考虑我们的模型,当我们给它一个任务时,它的工作是减少损失,所以为了做到这一点,它会利用任何漏洞。因此,当它得到不平衡的数据时,它知道总是给出0类(多数类)的预测可以减少损失,这就是它所做的。如果你从几何的角度考虑,你已经得到了2种颜色(不同的类)的所有这些点,现在你有一条线来分隔它们(决策边界),如果你在某个地方画了一条线,并说右边的点(数据集的所有点)是类0(多数类),所有左边的点都是类1(少数类)。那么这个模型也会为0级产生一个高精度的分数,这告诉我们当它预测0级时,我们真的可以信任它(这就是精度度量的意思),但是我们真的可以吗?正如我们所知,它实际上并没有学到任何东西。

因此,这些就是问题所在,在数据不平衡的情况下,我们的成本分布也会出现偏差,这阻碍了模型的严格学习。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65556746

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档