首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于如何平衡不平衡的数据

关于如何平衡不平衡的数据
EN

Stack Overflow用户
提问于 2016-08-24 08:03:11
回答 1查看 1.4K关注 0票数 1

当我在Scikit学习中阅读决策树时,我发现:

在训练前平衡数据集,以防止树偏向于占主导地位的类。类平衡可以通过从每个类中抽取相同数量的样本来实现,或者最好通过将每个类的样本权重(sample_weight)的总和归一化为相同的值来实现。

在链接中:http://scikit-learn.org/stable/modules/tree.html

我很困惑。

(1)

类平衡可以通过从每个类中抽取相同数量的样本来实现。

如果我这样做,应该为每个类中的每个样本添加一个适当的样本权重(或者添加类样本.)。

例如,如果我有两个类:A和B,有示例数

A:100 B:10000

我可以为每个样本输入10000个样本并设定权重:

输入样本A:10000,输入样本B:10000 重量A:0.01,重量B: 1.0

(2)

但它仍然说:

最好将每个类的样本权重之和(sample_weight)归一化为相同的值。

我完全被它弄糊涂了。这是否意味着我应该输入100个A样本和10000个B样本,然后设置权重:

输入样本A:100,输入样本B:10000 重量A:1.0,重量B: 1.0

但我似乎没有采取任何措施来平衡不平衡的数据。

哪一种方式更好,第二种方式在科学知识学习中的意义是什么?有人能帮我澄清一下吗?

EN

回答 1

Stack Overflow用户

发布于 2016-08-24 11:13:33

有许多方法可以平衡数据集:

  1. 从代表性不足的类中过度抽样(抽取更多样本而不进行替换)
  2. 从代表性过高的类中抽取较少的样本(有/没有替换)
  3. 基于邻域的低代表类的伪造数据(搜索样本)
  4. 基于权重的方法:尽管您需要对此进行调优,但大致上您可以从选择权重开始,这使得weight*number of observations对于代表不足和表示过高的组都是相等的。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39117675

复制
相关文章

相似问题

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