预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

面向不平衡数据集的一种基于聚类的欠采样方法 论文:面向不平衡数据集的一种基于聚类的欠采样方法 摘要:在实际场景中,许多应用中的数据集都存在着不平衡的问题。不平衡数据集指的是正负样本数量严重失衡的数据集,这种失衡造成训练模型时对某一类样本的学习效果不够准确,会影响模型的准确率和召回率。因此,解决不平衡数据集问题一直是机器学习和数据挖掘领域的关键问题之一。对于不平衡数据集,有一种常见的解决方法是欠采样。本文提出了一种基于聚类的欠采样方法,具有简单高效的特点,能够有效地解决不平衡数据集问题。本文提出的方法通过聚类分析的方式对负样本进行欠采样,并在此基础上进行多模型集成,改善模型预测效果。实验结果表明,本文提出的方法相比于其他欠采样方法在解决不平衡数据集问题时具有显著的优势。 关键词:不平衡数据集、欠采样、聚类、多模型集成 一、绪论 不平衡数据集指的是某一类样本数量远远小于其他类样本数量的数据集,这种失衡会影响模型的泛化性能及其准确率。在现实中,不平衡数据集很常见,例如医学、金融、安全等领域的数据集。因此,研究如何解决不平衡数据集问题非常重要。 对于不平衡数据集,目前有两种解决方法:过采样和欠采样。过采样方法是通过增加少数类的训练样本达到平衡的目的,例如SMOTE算法等。欠采样方法是通过减少多数类训练样本的数量来达到平衡数据集的目的。目前已经有很多的欠采样方法被提出了,如随机欠采样、重复抽样、近邻欠采样等。但是这些方法存在一些缺陷。随机欠采样方法可能会导致部分重要的样本被忽略,而重复抽样方法存在对样本的多次评价,导致训练时间增加。针对这些问题,本文提出了一种基于聚类的欠采样方法。 二、相关工作 过采样算法SMOTE方法(Chawla等人,2002)中,对于数据集中每个少数类样本x,计算其k个最近邻样本的距离,然后在x与这k个样本之间按照距离比例随机生成一些新的合成样本,并加入到训练集中,从而完成了过采样操作。通过增加数据集中少数类的训练样本,达到了平衡类别的目的。这种方法成功的解决了少数类样本不足的问题,但是如果数据集中的正负样本数量是相等的,那么通过SMOTE等过采样方法,会导致训练样本数量的大量增加,这样会影响算法的性能。 欠采样方法是通过减少多数类样本的数量来使训练集变得平衡。随机欠采样(RandomUnderSampling)是一种最基本的欠采样方法,该方法在多数类样本中等概率地随机去掉一部分样本,从而使样本比例得到调整。这种方法简单易用,但是如果随机删除掉重要的样本会导致模型性能的loss。针对这个问题,集成学习方法可以考虑提高准确率和召回率,但是Voting,Bagging方法等简单的集成方法返回值无法区分不同的样本,会导致欠采样的负面效果。 三、基于聚类的欠采样方法(Cluster-basedUnderSampling) 3.1方法概述 针对已有方法的问题,本文提出了一种基于聚类的欠采样方法。该方法是使用聚类方法对数据集进行聚类,选择多个簇(聚类簇数量越多,欠采样效果越好)进行欠采样,得到欠采样后的训练集,最后使用多个分类器进行训练。具体流程如算法1所示。 算法1基于聚类的欠采样方法 输入:数据集D,聚类中心数量k,回归模型f 输出:模型 1.将数据集D使用k-means算法进行聚类,获得k个聚类簇。 2.对于每个聚类簇,计算其中所有样本之间的平均距离,并选择其中平均距离较小的聚类簇。 3.从每个聚类簇中,等概率的随机选择部分样本。得到欠采样后的数据集D1。 4.将数据集D1作为训练集,训练回归模型f。 5.返回f。 3.2方法详述 基于聚类的欠采样方法的关键是如何选择聚类簇。在数据集D中,针对不同类别,可以使用k-means等聚类算法将数据集分成k个聚类簇。聚类完成后,根据不同的评价标准,选择若干聚类簇,进行数据欠采样。本文采用的评价标准是:1)簇的内部差异较小;2)簇的大小较小。通过选择这些簇,可以保证得到的欠采样数据集包含较少的噪声,同时保证欠采样之后的数据集中包含的部分样本足够代表原始数据集。 在选择好欠采样后的数据集后,可以使用任何分类器进行模型训练,在本次实现中,采用了决策树和KNN分类器两种分类器,采用简单的合并策略,即通过投票的方式选择最终分类结果。 四、实验结果 4.1数据集 本次实验使用的是UCI机器学习压缩数据集(UCIMLR)中的一个二分类数据集。该数据集共有20000个样本,其中1000个为正例,19000个负例。每个样本的特征维度为18维。 为了更好地验证算法的效果,我们采用了5折交叉验证对算法进行测试。我们使用了两个性能评价指标——准确率和召回率——来评估算法的性能。 4.2实验结果 实验结果如表1所示。可以看出,本文提出的基于聚类的欠采样方法相对于其他采样方法,在准确率和召回率方面均有较好