移动学习网 导航

非平衡数据集的机器学习常用处理方法

2024-05-22m.verywind.com
~ 非平衡数据集的机器学习常用处理方法
定义:不平衡数据集:在分类等问题中,正负样本,或者各个类别的样本数目不一致。
例子:在人脸检测中,比如训练库有10万张人脸图像,其中9万没有包含人脸,1万包含人脸,这个数据集就是典型的不平衡数据集。
直观的影响就是,用这些不平衡的数据训练出来的模型,其预测结果偏向于训练数据中数据比较多的那一类,在人脸检测的例子中,就是检测器的检测结果大部分都偏向于没有检测到人脸图像。
另外一个不平衡数据集,就是信用卡欺诈交易,如果平均的抽取数据,则大部分的数据都是非欺诈交易,只有非常少的部分数据是欺诈交易
影响:不平衡的数据集上做训练和测试,其得到的准确率是虚高的,比如在不平衡数据中,正负样本的比例为9:1时,当它的精度为90%时,我们很有理由怀疑它将所有的类别都判断为数据多的那一类。
解决方法:8种
1.收集更多的数据: 好处:更够揭露数据类别的本质差别,增加样本少的数目以便后面的数据重采样。
2.尝试改变性能评价标准:
当数据不平衡时,准确度已经失去了它原有的意义,
可以参考的度量标准有:1> 混淆矩阵CM 2>精度 3>召回率 4>F1 分数(权衡精度和召回率);5.Kappa 6,ROC曲线
3.重采样数据:
1,拷贝一部分样本偏少的数据多分,已达到平衡(过采样);
2,删除一部分样本偏多的数据,以使得达到平衡(欠采样);
在实际中,过采样和欠采样都会使用的。
在测试中,如果样本总数比较多,可以用欠采样的数据进行测试,如果样本总数比较少,可以用过采样的数据进行测试;另外应该测试随机采样的数据和非随机采样的数据,同时,测试不同比例正负样本的数据。
4.生成合成数据:
最简单的是,随机采样样本数目比较少的属性,
另外一个比较出名的方法为:SMOTE:它是一种过采样的方法,它从样本比较少的类别中创建新的样本实例,一般,它从相近的几个样本中,随机的扰动一个特征,
5.使用不同的算法:
不要试图用一个方法解所有的问题,尝试一些其他不同的方法,比如决策树一般在不平衡数据集上表现的比较的好。
6.尝试惩罚模型:
意思就是添加新的惩罚项到cost函数中,以使得小样本的类别被判断错误的cost更大,迫使模型重视小样本的数据。
比如:带惩罚项的SVM
7.使用不同的视角:
不平衡的数据集,有专门的邻域和算法做这个,可以参考他们的做法和术语。
比如:异常检测。
8.尝试新的改进:
比如:1.把样本比较多的类别,分解为一些更多的小类别,比如:原始我们想区分数字0和其它数字这二分类问题,我们可以把其它数字在分为9类,变成0–9的分类问题;

  • 机器学习中如何才能处理不均衡数据?
  • 答:在机器学习中,处理不均衡数据的方法有很多。其中一种方法是通过对数据集进行重采样,使得少数类样本的数量增加或者多数类样本的数量减少,从而达到数据平衡的目的。主要包括过采样和欠采样两种方法 。另外,还有一些其他的处理方法,例如集成学习、使用特定的算法等等。

  • 如何处理一个不平衡的数据集
  • 答:重采样方法:过采样:对少数类样本进行重复采样,以增加其数量。这种方法简单但可能导致过拟合,因为模型可能会过于关注重复出现的样本。欠采样:从多数类样本中随机选择较少数量的样本,从而减少其数量。这有助于平衡数据集,但可能会丢失一些重要信息。合成样本:例如,使用SMOTE(合成少数类过采样技术)等...

  • 数据科学|不均衡数据|采样方法
  • 答:ADASYN: 建立在SMOTE基础上,自适应地调整样本生成,更精确地处理不平衡。 Borderline SMOTE: 扩展SMOTE,关注于决策边界附近的样本,提高分类性能。在Python中,imbalanced-learn 库提供了丰富的工具,如SMOTE、ADASYN、BorderlineSMOTE和SVMSMOTE等,这些方法的实现可以帮助我们轻松生成均衡的数据集,为模型训...

  • 机器学习中训练样本不均衡问题
  • 答:过采样:就是增加比较少样本那一类的样本数量,比如你可以收集多一些数据,或者对数据增加噪声,如果是图像还可以旋转,裁剪,缩放,平移等,或者利用PCA增加一些样本,等方法 第三种:就是直接采用不均衡数据进行训练,可以在代价函数那里需要增加样本权重,用来平衡这个问题,也就是类别数量少的那一类代价就...

  • 如何解决机器学习中数据不平衡问题
  • 答:明白了数据集的不平衡对于学习过程所造成的问题,相应的解决办法也有不少。下面是一些常用的两类方法。1 从数据集入手。既然数据不平衡,那我们就人为的把数据集给平衡一下。可以通过随机采样比例大的类别使得训练集中大类的个数与小类相当,也可以重复小类 使得小类的个数与大类相当。前者的问题是可能...

  • 【数据侧】数据不均衡、长尾数据的常用解决方法(文末附论文和代码)_百 ...
  • 答:首先,让我们深入了解一下:重新分布数据与调整权重,这是最常见的策略,通过重采样技术(如SMOTE)或调整loss函数权重(如Focal Loss),平衡不同类别的样本分布。其次,创新的训练策略如迁移学习,通过预训练模型或针对特定子数据集进行微调,可以有效地迁移知识,提高尾部数据的学习效率。解耦学习则通过先...

  • 机器学习中非均衡数据集的处理方法?
  • 答:机器学习模型都有一个待优化的损失函数,以我们最常用最简单的二元分类器逻辑回归为例,其损失函数如下公式1所示,逻辑回归以优化总体的精度为目标,不同类别的误分类情况产生的误差是相同的,考虑一个$500:1$的数据集,即使把所有样本都预测为多数类其精度也能达到$500/501$之高,很显然这并不是一个...

  • 如何处理不平衡数据集(附代码)
  • 答:可以看到结果为:其中 sampling_strategy可以选择以下几种,大家可以去试试:方法2 使用dict方法 使用方法如下:结果如下 可以看出,是按照dict指定的比例来。这是一个生成合成数据的过程,通过学习少数类样本特征随机地生成新的少数类样本数据。有许多方法对数据集进行过采样,最常见的技术是SMOTE(Synthe...

  • 如何处理数据不平衡问题
  • 答:· 在线增强 : 这种增强的方法用于,获得批量(batch)数据之后,然后对这个批量(batch)的数据进行增强,如旋转、平移、翻折等相应的变化,由于有些数据集不能接受线性级别的增长,这种方法长用于大的数据集,很多机器学习框架已经支持了这种数据增强方式,并且可以使用 GPU 优化计算。

  • 如何对机器学习xgboost中数据集不平衡进行处理
  • 答:数据集平衡造问题呢般习器都面两假设:使习器准确率高另外习器应该用与训练集相同布测试集数据平衡习器使准确率高肯定更偏向于预测结比例.-

    相关主题

      相关链接:
    户户网菜鸟学习
    联系邮箱
    返回顶部
    移动学习网