zoukankan      html  css  js  c++  java
  • 处理不平衡数据的策略

        在机器学习中,我们在使用模型训练数据时,时常会遇到一个问题,那就是数据不平衡,而且可能是极其不平衡。比如电商中的购买与否,金融欺诈等这种二分类中,往往数  据不仅稀疏且还极不平衡,可能其中某一类数据过多。很多模型对于处理这种不平衡数据来説是非常敏感的,往往造成效果不好。

      那么在进行模型训练前,我们会做一起数据处理或改进模型的过程,怎么去缓解这种不平衡数据造成的后果。通过有以下方法:

    1. 欠采样:这种方法认为多数类的数据中存在冗余,所以从多数类中进行欠采样,即从中选择一部分数据和少数类一起构成训练集。注意这里并没有使用所有数据,可能会造成丢失众多信息。
    2. 过采样:针对少数类进行有放回的自助法抽取更多的数据,以实现过采样,并和多数类一起构成训练集。
    3. 加权:对多数类和少数类的权重参数进行不同的加权。或者修改损失函数,但由于模型往往很复杂,难以对算法本身做修改。
    4. 生成数据:过采样往往有很多重复的样本,数据单一,模型学习能力不足。所以通过构造与现有样本相似的新样本,使模型能够学习更多的数据分布。数据生成方法很多,其中常见的比如
      •   深度学习中的生成对抗网也可以用于用数据生成。不过这个数据生成根据概率生成。不断的进行生成和判别。

       5.总而言之:

      分类在不平衡数据的训练中会出现问题

      要不采样,要不生成。尽量保留正确的类别样本,因为它更具有价值。

      还有在评估时,有的评估指标对不平衡数据是很敏感的。而auc通常对于不平衡数据的评估有较好的健强性。

  • 相关阅读:
    用同余理解补码
    objenesis
    spring 事务处理
    SOCKS5 协议解析
    WebSocket 的鉴权授权方案
    加密解密基础问题:字节数组和16进制字符串的相互转换
    主机字节序 与 网络字节序
    RSA 理论
    分类算法----k近邻算法
    R语言统计分析应用与SAS、SPSS的比较
  • 原文地址:https://www.cnblogs.com/little-horse/p/12543141.html
Copyright © 2011-2022 走看看