【问题标题】:Multiclass Classification多类分类
【发布时间】:2018-04-19 09:16:07
【问题描述】:

我有一个包含 3 个类的多类分类问题(匿名特征)。第 1 类与其他类不同,但我在将第 2 类与第 0 类区分开来时遇到问题。(第 2 类中的大部分被预测为第 0 类)。

由于这两个类之间存在不平衡 (3:1)。我尝试为 2 类赋予权重,但模型只是正确分类了一些 2 类,但它现在也将 0 类预测为 2 类,给了我没有给出权重时的准确度相同。

那么关于如何分离这两个类的任何想法?我试过NN,oneVSrest,也尝试了一点stacking,没有明显的收获。

【问题讨论】:

标签: python machine-learning classification xgboost


【解决方案1】:

我以前曾经面对过不平衡的数据集。我使用了 sklearn 的 resample 函数,您可以从here 阅读更多内容。该函数将从少数随机复制到上采样。以我的经验,这种方法只是稍微改进了模型,我认为你应该在互联网上找到数据来添加到你的数据集中。

【讨论】:

  • 我刚刚尝试了上下采样,但似乎效果不佳。该模型只是随机预测 0 和 2 并预测 50% 的准确度。现在我认为问题在于两个类不可分离,匿名化的特征也无济于事。有什么想法可以正确预测某些 2 类吗?
  • 是的,偏见问题肯定是因为没有足够的数据让它学习。如果模型以前从未见过的新数据,它将偏向于数据中的少数类。老实说,我通过不断添加更多在互联网上找到的新数据来解决这个问题,而不仅仅是对旧数据进行上采样或下采样。在您的情况下,我认为您应该上采样而不是下采样,因为您需要更多具有少数标签的数据。如果上采样不起作用,请尝试深度随机森林。听说它是不平衡数据集的一个很好的模型,因为它的参数自动转动。
猜你喜欢
  • 2021-01-11
  • 2019-10-25
  • 2013-06-09
  • 2018-09-29
  • 2016-03-03
  • 2015-07-20
  • 2018-04-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多