处理数据类别不均衡的方法、装置、电子设备及存储介质转让专利

申请号 : CN202110263551.7

文献号 : CN112633426B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘志煌

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请提供了一种处理数据类别不均衡的方法、装置、电子设备及存储介质。涉及云技术的大数据处理领域。本申请基于少数类样本Xi与Xi的每一个近邻样本之间的互信息确定M个最近邻样本;基于Xi与Xij(near)之间的互信息确定Xij(near)的互信息权重;基于Xij(near)的类型和Xij(near)的互信息权重确定Xij(near)的权重Wij(near);基于Wij(near)和类别不均衡倍率N确定Xi与Xij(near)之间待插入的少数类样本的数量Nj;在Xi与Xij(near)之间插入Nj个新样本。通过融合互信息和SMOTE的方式处理数据类别不均衡问题,能够提升SMOTE的分类性能。

权利要求 :

1.一种处理数据类别不均衡的方法,其特征在于,包括:基于训练集中的第i个少数类样本Xi与所述Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在所述K个最近邻样本中确定M个最近邻样本;其中,0<i≤T;所述T表征所述训练集中少数类样本的数量;所述互信息随所述Xi与近邻样本同时出现的频率的增加而增大;

基于所述Xi与所述M个最近邻样本中的第j个最近邻样本Xij(near)之间的互信息,确定所述Xij(near)的互信息权重,0<j≤M;

基于所述Xij(near)的类型和所述Xij(near)的互信息权重,确定所述Xij(near)的权重Wij(near);

基于所述Wij(near)和类别不均衡倍率N,确定所述Xi与所述Xij(near)之间待插入的少数类样本的数量Nj;所述类别不均衡倍率N为所述训练集中多数类样本的数量和所述T 的比值;

在所述Xi与所述Xij(near)之间插入所述Nj个新样本。

2.根据权利要求1所述的方法,其特征在于,所述基于训练集中的第i个少数类样本Xi与所述Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在所述K个最近邻样本中确定M个最近邻样本,包括:

利用基于所述训练集建立的K‑维KD树模型,确定所述K个最近邻样本;

将所述K个最近邻样本中的与所述Xi的互信息大于或等于第一阈值的最近邻样本,确定为所述M个最近邻样本。

3.根据权利要求1所述的方法,其特征在于,所述基于所述Xi与所述M个最近邻样本中的第j个最近邻样本Xij(near)之间的互信息,确定所述Xij(near)的互信息权重,包括:将所述Xi与所述Xij(near)之间的互信息,确定为所述Xij(near)的互信息权重。

4.根据权利要求1所述的方法,其特征在于,所述基于所述Xij(near)的类型和所述Xij(near)的互信息权重,确定所述Xij(near)的权重Wij(near),包括:若所述Xij(near)的类型为多数类样本,则将所述Xij(near)的互信息权重确定为所述Wij(near);

若所述Xij(near)的类型为少数类样本,则将大于或等于所述Xij(near)的互信息权重的第一数值确定为所述Wij(near)。

5.根据权利要求4所述的方法,其特征在于,所述第一数值为所述Xij(near)的互信息权重与第二数值的和,所述第二数值大于或等于0。

6.根据权利要求5所述的方法,其特征在于,所述第二数值的取值用于表征在所述Xi与所述Xij(near)之间插入的新样本靠近所述T个少数类样本的边界的程度。

7.根据权利要求1所述的方法,其特征在于,所述基于所述Wij(near)和类别不均衡倍率N,确定所述Xi与所述Xij(near)之间待插入的少数类样本的数量Nj,包括:确定所述Wij(near)与所述M个最近邻样本中的权重之和的比值;

将所述N与1的差值,与所述比值的乘积,确定为所述Nj。

8.根据权利要求1所述的方法,其特征在于,所述在所述Xi与所述Xij(near)之间插入所述Nj个新样本,包括:

基于所述Xi、Xij(near)及第一系数的关系式,在所述Xi与所述Xij(near)之间插入所述Nj个新样本;所述第一系数为大于0且小于1的随机数。

9.根据权利要求1至8中任一项所述的方法,其特征在于,所述基于训练集中的第i个少数类样本Xi与所述Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在所述K个最近邻样本中确定M个最近邻样本之前,所述方法还包括:对原始数据集进行数据清洗和特征处理,得到所述训练集;

其中,所述数据清洗包括舍弃所述原始数据集中特征值小于第二阈值的特征、舍弃所述原始数据集中特征值大于第三阈值的特征、对所述原始数据集中缺失特征进行填充、对所述原始数据集中特征进行学习得到衍生特征;所述特征处理包括对所述原始数据集中连续性特征进行分箱离散化以及对所述原始数据集中离散型特征进行独热one‑hot编码。

10.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:基于所述训练集和针对所述T个少数类样本中的每一个少数类样本插入的所有新样本,训练分类模型。

11.一种处理数据类别不均衡的装置,其特征在于,包括:确定单元,用于:

基于训练集中的第i个少数类样本Xi与所述Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在所述K个最近邻样本中确定M个最近邻样本;其中,0<i≤T;所述T表征所述训练集中少数类样本的数量;所述互信息随所述Xi与近邻样本同时出现的频率的增加而增大;

基于所述Xi与所述M个最近邻样本中的第j个最近邻样本Xij(near)之间的互信息,确定所述Xij(near)的互信息权重,0<j≤M;

基于所述Xij(near)的类型和所述Xij(near)的互信息权重,确定所述Xij(near)的权重Wij(near);

基于所述Wij(near)和类别不均衡倍率N,确定所述Xi与所述Xij(near)之间待插入的少数类样本的数量Nj;所述类别不均衡倍率N为所述训练集中多数类样本的数量和所述T 的比值;

插入单元,用于在所述Xi与所述Xij(near)之间插入所述Nj个新样本。

12.一种处理数据类别不均衡的电子设备,其特征在于,包括:处理器,适于执行计算机程序;

计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被所述处理器执行时,实现如权利要求1至10中任一项所述的处理数据类别不均衡的方法。

13.一种计算机可读存储介质,其特征在于,用于存储计算机程序,所述计算机程序使得计算机执行如权利要求1至10中任一项所述的处理数据类别不均衡的方法。

说明书 :

处理数据类别不均衡的方法、装置、电子设备及存储介质

技术领域

[0001] 本申请实施例涉及云技术领域,尤其涉及云技术的大数据处理领域,并且更具体地,涉及处理数据类别不均衡的方法、装置、电子设备及存储介质。

背景技术

[0002] 数据类别不均衡问题是常见的影响分类模型性能的问题。
[0003] 目前,应用广泛的解决数据不均衡问题的方法为合成少数类过采样技术(Synthetic Minority Oversampling Technique,SMOTE)。不同于一般的过采样技术,
SMOTE新增加的少数类样本不是通过重复采样得到,而是在两个少数类样之间通过插值的
方式合成一个新样本,即在少数类分布边界内增加新的样本,并将新样本添加到少数类别
中,从而达到类均衡的效果。新插值产生的样本一定程度服从原始数据分布,并且产生更多
的少数类信息,提高了模型的泛化能力。
[0004] 但是,SMOTE是在两个同类别的样本之间合成新样本,插值后少数类样本点密度在小范围内急剧加大,且扩充样本集合时,没有改变少数类样本的分布特征,没有考虑多数类
的近邻样本信息,对分类边界的影响较小,一方面容易导致样本重叠的问题;另一方面导致
一些分类器的效果没有提升,例如支持向量机 (Support Vector Machine,SVM),该分类器
本身以最小化几何间隔作为损失函数来进行优化。由于少数类别的边界没有发生变化,基
于SMOTE合成新的少数类样本后,支持向量的位置不发生偏移。
[0005] 因此,有待进一步改进利用SMOTE解决数据不均衡问题的方案。

发明内容

[0006] 本申请提供了一种处理数据类别不均衡的方法、装置、电子设备及存储介质,对利用SMOTE解决数据不均衡问题的方案进行了改进,能够提升SMOTE的分类性能。
[0007] 一方面,本申请提供了一种处理数据类别不均衡的方法,该方法包括:
[0008] 基于训练集中的第i个少数类样本Xi与该Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在该K个最近邻样本中确定M个最近邻样本;其中,0<i≤T;该T表征该训练
集中少数类样本的数量;
[0009] 基于该Xi与该M个最近邻样本中的第j个最近邻样本Xij(near)之间的互信息,确定该Xij(near)的互信息权重,0<j≤M;
[0010] 基于该Xij(near)的类型和该Xij(near)的互信息权重,确定该Xij(near)的权重Wij(near);
[0011] 基于该Wij(near)和类别不均衡倍率N,确定该Xi与该Xij(near)之间待插入的少数类样本的数量Nj;该类别不均衡倍率N为该训练集中多数类样本的数量和该T 的比值;
[0012] 在该Xi与该Xij(near)之间插入该Nj个新样本。
[0013] 另一方面,本申请提供了一种处理数据类别不均衡的装置,包括:
[0014] 确定单元,用于:
[0015] 基于训练集中的第i个少数类样本Xi与该Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在该K个最近邻样本中确定M个最近邻样本;其中,0<i≤T;该T表征该训练
集中少数类样本的数量;
[0016] 基于该Xi与该M个最近邻样本中的第j个最近邻样本Xij(near)之间的互信息,确定该Xij(near)的互信息权重,0<j≤M;
[0017] 基于该Xij(near)的类型和该Xij(near)的互信息权重,确定该Xij(near)的权重Wij(near);
[0018] 基于该Wij(near)和类别不均衡倍率N,确定该Xi与该Xij(near)之间待插入的少数类样本的数量Nj;该类别不均衡倍率N为该训练集中多数类样本的数量和该T 的比值;
[0019] 插入单元,用于在该Xi与该Xij(near)之间插入该Nj个新样本。
[0020] 另一方面,本申请提供了一种电子设备,包括:
[0021] 处理器,适于实现计算机指令;以及,
[0022] 计算机可读存储介质,计算机可读存储介质存储有计算机指令,计算机指令适于由处理器加载并执行上述处理数据类别不均衡的方法。
[0023] 另一方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被计算机设备的处理器读取并执行时,使得计算机设备
执行上述处理数据类别不均衡的方法。
[0024] 另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算
机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使
得该计算机设备执行上述处理数据类别不均衡的方法。
[0025] 本申请实施例中,通过基于训练集中的第i个少数类样本Xi与该Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在该K个最近邻样本中确定M个最近邻样本,能够确
保Xi的每一个最近邻样本都与该Xi相关程度较高,从而在这两个样本之间合成的新样本也
与该Xi相关性高,能够更精准地合成新的少数类样本。此外,基于该Xij(near)的类型和该
Xij(near)的互信息权重,确定该Xij(near)的权重Wij(near);基于该Wij(near)和类别不均衡倍率N,确
定该Xi与该Xij(near)之间待插入的少数类样本的数量Nj,一方面,基于该Xij(near)的互信息权
重确定该Xij(near)的权重Wij(near),相当于,通过互信息计算将关联关系进行量化作为该
Xij(near)的权重Wij(near),互信息越大意味着该Xij(near)与该Xi关系越紧密,充分考虑了Xi的近
邻分布特征;换言之,针对Xi,根据该Xij(near)的权重Wij(near)进行差异插值,能够充分考虑了
Xi的近邻分布特征;另一方面,通过考虑Xij(near)的类型,基于该Xij(near)的类型确定该
Xij(near)的权重Wij(near),相当于,针对Xi,可基于该Xij(near)的类型进行差异化插值,能够更有
针对性地进行少数类样本扩充;例如,若该Xij(near)包括近邻的多数类样本,其不仅能够很好
地解决样本重叠、边界固定等问题,还能够在扩大边界的同时使新合成的样本极大程度地
靠近少数类样本,使新插入的样本的分布更趋近于原始样本的数据分布,整体分类性能增
强。
[0026] 综上可知,通过融合互信息和SMOTE的方式处理数据类别不均衡问题,不仅考虑了少数类样本的近邻分布特征,还考虑了样本重叠以及边界固定等问题,能够提升SMOTE的分
类性能。换言之,根据最近邻样本的类型和权重针对性地增加样本,能够在插值过程中差异
化不同的最近邻样本和少数类样本之间的合成策略,根据不同的近邻分布情况设置不同的
采样倍率,不仅充分地考虑了样本分布,也兼顾了扩大少数类样本的边界,进而实现对利用
SMOTE解决数据不均衡问题的方案的改进,以提升SMOTE的分类性能。

附图说明

[0027] 为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域
普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0028] 图1是本申请实施例提供的SMOTE的样本合成过程的示意图。
[0029] 图2是本申请实施例提供的处理数据类别不均衡的方法的示意性流程图。
[0030] 图3是本申请实施例提供的构建KD树的方法的示意性流程图。
[0031] 图4是本申请实施例提供的处理数据类别不均衡的方法的另一示意性流程图。
[0032] 图5是本申请实施例提供的处理数据类别不均衡的装置的示意性框图。
[0033] 图6是本申请实施例提供的处理数据类别不均衡的电子设备的示意性框图。

具体实施方式

[0034] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于
本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他
实施例,都属于本申请保护的范围。
[0035] 本申请提供的方案可涉及云技术。
[0036] 云计算(cloud computing)指IT基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易
扩展的方式获得所需服务。这种服务可以是IT和软件、互联网相关,也可是其他服务。云计
算是网格计算(Grid Computing )、分布式计算(DistributedComputing)、并行计算
(Parallel Computing)、效用计算(Utility Computing)、网络存储(Network Storage 
Technologies)、虚拟化(Virtualization)、负载均衡(Load Balance)或区块链网络等计算
机和网络技术发展融合的产物。
[0037] 随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算迅速发展起来。不同于以往的并行分布式计算,云计
算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
[0038] 大数据(Big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力
的海量、高增长率和多样化的信息资产。随着云时代的来临,大数据也吸引了越来越多的关
注,大数据需要特殊的技术,以有效地处理大量的容忍经过时间内的数据。适用于大数据的
技术,包括大规模并行处理数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平
台、互联网和可扩展的存储系统。
[0039] 数据类别不均衡问题是常见的影响分类模型性能的问题。大部分机器学习分类模型,以降低总体样本的分类错误率为目标来训练分类模型。直接运用这些分类模型有个必
要的前提:要求数据在各个类别分布是均匀的。然而,实际情况下数据不均衡情况较为常
见,例如信用卡欺诈检测中,极少出现的欺诈交易;网络攻击识别中,异常值和不良信息比
例极小;生物医学癌症检测中,癌症样本量相比健康样本量小,但是识别重要性甚至比识别
健康样本更高。
[0040] 用于不均衡数据学习的方法主要分为两种,一种是从算法的角度考虑,通过设计某种策略如代价敏感学习方法来衡量不同误分类情况代价的差异;另一种则是从数据的角
度出发,通过抽样平衡各种类别样本数据的比例。下面介绍这两种不均衡数据学习的方法。
[0041] 在算法层面上,进行不均衡数据学习往往通过设计代价函数来惩罚少数类别的错误分类,其中最典型的方法是基于代价敏感学习算法(Cost‑Sensitive Learning)来考虑
不同类别误分类的代价不同。例如在生物医学领域,将健康人诊断为癌症患者与将癌症患
者诊断为健康人的后果差别很大。首先要定义一个代价矩阵,用来表示每个类别被设置类
别标签后的代价。
[0042] 表1是本申请实施例提供的代价矩阵的一个示例。
[0043] 表1
[0044]真实标签 预测标签 0 1
0 C00 C01
1 C10 C11
[0045] 如表1所示,可以设置两个二分类标签,即0和1,真实标签与预测标签构成了四个代价因子,分别为C00,C01,C10,C11,其中C00,C11指真实标签与预测标签一致的情况,即预
测正确。故这两者的代价因子均为0,在均衡文本分类问题中,C01,C10是相同的,而对于不
均衡数据,C01,C10则不同。
[0046] 基于该矩阵,有如下两种方式进行代价敏感学习:
[0047] 1)、重新构建训练集,并且将代价用于权重的调整。
[0048] 这种方式中,典型方法如基于自适应增强(Adaptive Boosting,Adaboost)的权重来更新,Adaboost属于集成学习的Boosting系列算法,通过反复迭代学习弱学习器,根据弱
学习器的学习误差率调整权重,使学习误差率高的训练样本在下次迭代中权重变大,得到
更多的关注,最终得到强学习器。AdaBoost方法的自适应在于:前一个分类器分错的样本会
被用来训练下一个分类器。AdaBoost方法对于噪声数据和异常数据很敏感。但在一些问题
中,AdaBoost方法相对于大多数其它学习算法而言,不会很容易出现过拟合现象;AdaBoost
方法中使用的分类器可能很弱(比如出现很大错误率),但只要它的分类效果比随机好一点
(比如两类问题分类错误率略小于0.5),就能够改善最终得到的模型。
[0049] 2)、设计代价敏感的分类算法。
[0050] 大部分分类算法都有其代价敏感的改进版本。以决策树为例,可以从决策阈值、剪枝等方面来考虑代价矩阵,以此平衡样本间的数量差异。
[0051] 在数据层面上,用于改变数据的均衡性有两种方法,分别为过采样(over‑sampling)和欠采样(under‑sampling)。欠采样保持少数类不变,通过对多数类削减部分样
本来达到类均衡。而过采样是保持多数类样本数量不变,多次从少数类样本中进行有放回
采样,减少数量差异。有放回采样又称有放回抽样,有放回采样是简单随机抽样的操作方式
之一,即在所有的少数类样本中,每抽取一个少数类样本后再将其放回,由此对于任意一次
抽取而言,由于少数类样本的总数不变,所以每一个少数类样本被抽中的机会均等。直接进
行欠采样和过采样来改变多数类或者少数类比例,从而达到类别均衡的做法存在一些问
题。过采样通过保持多数类不变,重复对少数类进行有放回采样,很容易造成过拟合问题;
而欠采样当类别不均衡比例过大时严重削减多数类样本的数量会造成样本信息丢失。
[0052] 此外,还有一种应用广泛的解决数据不均衡问题的方法,即合成少数类过采样技术(Synthetic Minority Oversampling Technique,SMOTE)。不同于一般的过采样技术,
SMOTE新增加的少数类样本不是通过重复采样得到,而是在两个少数类样之间通过插值的
方式合成一个新样本,即在少数类分布边界内增加新的样本,并将新样本添加到少数类别
中,从而达到类均衡的效果。新插值产生的样本一定程度服从原始数据分布,并且产生更多
的少数类信息,提高了模型的泛化能力。
[0053] 图1是本申请实施例提供的SMOTE的样本合成过程的示意图。
[0054] 如图1所示,圆圈表示多数类样本,五角星表示少数类样本。图1的(a)中,未采用SMOTE的合成新样本时的分布图,图1的(b)中,已采用SMOTE在第i个少数类样本Xi和该Xi的
第j个最近邻样本 之间合成新样本后的分布图。
[0055] 利用SMOTE的插值合成新样本的伪代码可如下所示:
[0056] SMOTE(T,N,K,Xi)
[0057] input:T //少数类样本的数量
[0058] Y //多数类样本的数量
[0059] K //K最近邻样本
[0060] Xi //第i个少数类样本
[0061] output:NT个新的少数类样本
[0062] 1.N=Y/T
[0063] 2.for(int i=0;i<T;i++)//评估Xi的K个最近邻样本并获取Xi的K个最近邻样本
[0064] 3.for(int j=0;j<N;j++)
[0065] for(int i=0;i<T;i++)//基于Xi的K个最近邻样本中的第j个最近邻样本 随机生成的一个样本
[0066] Xi1=Xi+ε*( ‑ Xi),ε∈(0,1)。
[0067] 换言之,训练集中少数类的样本数量为T,少数类样本的特征向量为Xi,i∈{1,…,T}。训练集中多数类的样本数量为Y,不平衡比例N为Y和T的比值。对于第i 个少数类样本
Xi,遍历寻找其K个最近邻样本。确定样本不平衡比例N,在该K个最近邻样本中随机采样N次
并且标记为Xi对应的N个最近邻样本,对于该N个最近邻样本中的第j个最近邻样本 ,在
与Xi之间合成一个新样本,最终合成NT个新样本。合成方法如公式所示:
[0068] ;
[0069] 其中,为0到1之间的随机数。
[0070] 但是,SMOTE是在两个同类别的样本之间合成新样本,插值后少数类样本点密度在小范围内急剧加大,且扩充样本集合时,没有改变少数类样本的分布特征,没有考虑多数类
的近邻样本信息,对分类边界的影响较小,一方面容易导致样本重叠的问题;另一方面导致
一些分类器的效果没有提升,例如支持向量机 (Support Vector Machine,SVM),该分类器
本身以最小化几何间隔作为损失函数来进行优化。由于少数类别的边界没有发生变化,基
于SMOTE合成新的少数类样本后,支持向量的位置不发生偏移。
[0071] 因此,有待进一步改进利用SMOTE解决数据不均衡问题的方案。
[0072] 本申请提供了一种处理数据类别不均衡的方法、装置、电子设备及存储介质,对利用SMOTE解决数据不均衡问题的方案进行了改进,能够提升SMOTE的分类性能。具体地,面向
数据挖掘领域常见的数据不均衡问题,提供了一种融合互信息和SMOTE的创新思路,即提供
了一种创新的处理数据类别不均衡的方法,该方法通过在SMOTE插值合成少数类样本的过
程中融合互信息来解决类别不平衡问题,解决了原始SMOTE方法在插值过程中没有考虑最
近邻样本点分布特性,在合成少数类样本过程有盲目性的问题。同时,由于互信息和最近邻
样本的类型的引入,使新插值样本的分布更趋近于原始样本的数据分布。因此,本申请提供
的方法可以更好地解决机器学习的数据类别不均衡问题。
[0073] 实际上,由于不同类别样本点在空间分布的多样性,无法仅根据K最近邻样本分布的特点来严格划分少数类样本的类型,但是,针对最近邻样本的特点和分布进行有区别的
选择,尤其对处在边界区域的少数类样本强化其分类信息和特征,即有针对性地增加样本,
在合成过程中区分不同最近邻样本的特点并对不同的近邻做有差异的合成策略是很有必
要的。SMOTE在同类别的样本点之间进行插值,扩充了少数类集合,但是忽略了异类样本的
分布情况。
[0074] 需要说明的是,针对本申请提出的一种处理数据类别不均衡的方法,可以广泛应用于各种数据处理、机器学习等领域,本申请实施例对此不作具体限定。例如,在金融风控
应用场景中,信用卡欺诈、贷款黑名单用户检测等都是数据类别极不均衡的,通过引入本发
明方法,能够更好地对少数类样本进行扩充,同时扩充后的样本分布更合理地逼近原始样
本分布,有效解决了少数类样本特征不充分难以识别的问题;在生物医学罕见疾病样本检
测场景,本发明方法同样可以补充稀有样本的特征和信息。因此在产品侧,本发明方法具有
广泛的应用场景,除以上场景外,涉及数据类别不均衡的场景,都属于该发明的潜在应用场
景。
[0075] 图1是本申请实施例提供的处理数据类别不均衡的方法100的示意流程图。需要说明的,本申请实施例提供的方案可通过任何具有数据处理能力的电子设备执行。例如,该电
子设备可实施为服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成
的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、
网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云
计算服务的云服务器,服务器可以通过有线或无线通信方式进行直接或间接地连接,本申
请在此不做限制。为便于描述,下文以处理数据类别不均衡的装置为例对本申请提供的预
测方法进行说明。
[0076] 如图1所示,该处理数据类别不均衡的方法100可包括:
[0077] S110,基于训练集中的第i个少数类样本Xi与该Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在该K个最近邻样本中确定M个最近邻样本;其中,0<i≤T;该T表征
该训练集中少数类样本的数量;
[0078] S120,基于该Xi与该M个最近邻样本中的第j个最近邻样本Xij(near)之间的互信息,确定该Xij(near)的互信息权重,0<j≤M;
[0079] S130,基于该Xij(near)的类型和该Xij(near)的互信息权重,确定该Xij(near)的权重Wij(near);
[0080] S140,基于该Wij(near)和类别不均衡倍率N,确定该Xi与该Xij(near)之间待插入的少数类样本的数量Nj;该类别不均衡倍率N为该训练集中多数类样本的数量和该T 的比值;
[0081] S150,在该Xi与该Xij(near)之间插入该Nj个新样本。
[0082] 本申请实施例中,通过基于训练集中的第i个少数类样本Xi与该Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在该K个最近邻样本中确定M个最近邻样本,能够确
保Xi的每一个最近邻样本都与该Xi相关程度较高,从而在这两个样本之间合成的新样本也
与该Xi相关性高,能够更精准地合成新的少数类样本。此外,基于该Xij(near)的类型和该
Xij(near)的互信息权重,确定该Xij(near)的权重Wij(near);基于该Wij(near)和类别不均衡倍率N,确
定该Xi与该Xij(near)之间待插入的少数类样本的数量Nj,一方面,基于该Xij(near)的互信息权
重确定该Xij(near)的权重Wij(near),相当于,通过互信息计算将关联关系进行量化作为该
Xij(near)的权重Wij(near),互信息越大意味着该Xij(near)与该Xi关系越紧密,充分考虑了Xi的近
邻分布特征;换言之,针对Xi,根据该Xij(near)的权重Wij(near)进行差异插值,能够充分考虑了
Xi的近邻分布特征;另一方面,通过考虑Xij(near)的类型,基于该Xij(near)的类型确定该
Xij(near)的权重Wij(near),相当于,针对Xi,可基于该Xij(near)的类型进行差异化插值,能够更有
针对性地进行少数类样本扩充;例如,若该Xij(near)包括近邻的多数类样本,其不仅能够很好
地解决样本重叠、边界固定等问题,还能够在扩大边界的同时使新合成的样本极大程度地
靠近少数类样本,使新插入的样本的分布更趋近于原始样本的数据分布,整体分类性能增
强。
[0083] 综上可知,通过融合互信息和SMOTE的方式处理数据类别不均衡问题,不仅考虑了少数类样本的近邻分布特征,还考虑了样本重叠以及边界固定等问题,能够提升SMOTE的分
类性能。换言之,根据最近邻样本的类型和权重针对性地增加样本,能够在插值过程中差异
化不同的最近邻样本和少数类样本之间的合成策略,根据不同的近邻分布情况设置不同的
采样倍率,不仅充分地考虑了样本分布,也兼顾了扩大少数类样本的边界,进而实现对利用
SMOTE解决数据不均衡问题的方案的改进,以提升SMOTE的分类性能。
[0084] 需要说明的是,在概率论和信息论中,两个随机变量的互信息(Mutual Information,简称MI)或转移信息(transinformation)是变量间相互依赖性的量度。不同
于相关系数,互信息并不局限于实值随机变量,它更加一般且决定着联合分布 p(x,y) 和
分解的边缘分布的乘积 p(y)p(y) 的相似程度。互信息是点间互信息(PMI)的期望值。互信
息最常用的单位包括但不限于比特(bit)。
[0085] 针对互信息的计算,如果x和y经常一起出现,则x和y的互信息较大。基于此,互信息的公式可定义为:
[0086] ;
[0087] 其中,I(x,y)表示x和y的互信息,p(x,y)是x和y的联合概率分布函数,而p(x)和p(y)分别是x和y的边缘概率分布函数。p(y|x)是x没有涉及到的y的部分的不确定度的量度。
由于互信息本身满足I(x,y)≥0,而本申请方法在该K个最近邻样本中确定M个最近邻样本
时,会考虑到少数类样本与各个最近邻样本之间的互信息,相当于,每一个少数类样本对应
M个最近邻样本是有差异的。
[0088] 在一些实施例中,该S110可包括:
[0089] 利用基于该训练集建立的K‑维KD树模型,确定该K个最近邻样本;将该K个最近邻样本中的与该Xi的互信息大于或等于第一阈值的最近邻样本,确定为该M个最近邻样本。
[0090] 换言之,M值的选取与互信息的计算结果相关,即要求该M个最近邻样本中的每一个最近邻样本与该Xi的互信息大于或等于第一阈值Ia,Ia>0。从而,针对每一个少数类样
本的K个最近邻样本,基于少数类样本和K个最近邻样本中每一个最近邻样本的互信息,调
整K的选取(即确定 值)。基于此,能够确保少数类样本的最近邻样本都与该少数类样本相
关程度较高,从而在这两个样本之间合成的新样本也与原少数类样本相关性高,能够更精
准地合成新的少数类样本。
[0091] 在一种实现方式中,对于每个少数类样本,可利用K最近邻(k‑Nearest Neighbor,KNN) 分类算法计算获取其的K个最近邻样本(最近邻样本包括少数类样本和多数类样本)。
其中,所谓K最近邻,就是K个最近的邻居的意思,说的是每个样本都可以用它最接近的K个
邻近值来代表。近邻算法就是将数据集合中每一个记录进行分类的方法。该方法的思路非
常简单直观:如果一个样本在特征空间中的K个最相似(即特征空间中最邻近)的样本中的
大多数属于某一个类别,则该样本也属于这个类别。该方法在定类决策上只依据最邻近的
一个或者几个样本的类别来决定待分样本所属的类别。总体来说,KNN分类算法包括以下4
个步骤:①准备数据,对数据进行预处理。②计算测试样本点(也就是待分类点)到其他每个
样本点的距离。③对每个距离进行排序,然后选择出距离最小的K个点。④对K个点所属的类
别进行比较,根据少数服从多数的原则,将测试样本点归入在K个点中占比最高的那一类。
KNN分类算法思路简单,易于理解,易于实现,无需估计参数,无需训练。
[0092] 需要说明的是,KNN分类算法有重要的三要素。
[0093] 首先,是K值的选取,K值的大小直接影响训练样本在多大的范围进行预测,小范围有利于降低训练误差,提高训练集上模型的拟合效果,但是在新数据集上效果有所下降。大
范围对泛化性能有提高,但是在训练集上模型变得简单,训练误差加大。需要说明的是,本
申请实施例中,针对KNN分类算法,本申请实施例对其K值的选取不作具体限定,例如可根据
应用场景确定。
[0094] 其次,是决策准则,分类模型采用少数服从多数的多数表决法,回归模型采用平均法。需要说明的是,本申请实施例涉及的分类可以理解为是在已有数据的基础上学会一个
分类函数或构造出一个分类模型(或一个分类器(Classifier))。该函数或模型能够把数据
库中的数据纪录映射到给定类别中的某一个,从而可以应用于数据预测。总之,分类器是数
据挖掘中对样本进行分类的方法的统称,包含决策树、逻辑回归、朴素贝叶斯、神经网络等
算法。回归模型(regression model)对统计关系进行定量描述的一种数学模型,回归模型
是一种预测性的建模技术。
[0095] 最后,是距离的度量,为了解决距离计算量大的问题,KNN分类算法对训练集建立KD树(k‑dimensional tree,KD‑tree)模型,即建立K个特征维度的树,然后再搜索最近邻。
需要说明的是,本申请涉及的KD树是一种分割k维数据空间的数据结构。主要应用于多维空
间关键数据的搜索(如范围搜索和最近邻搜索)。
[0096] 图3是本申请实施例提供的构建KD树的方法200的示意性流程图。
[0097] 如图3所示,该构建KD树的方法200可包括:
[0098] S210,获取训练集。例如,获取的训练集可以是K维空间数据集T={x1,x2,…,xn},其中 xi={xi(1),xi(2),… xi(k)}, i=1,…,N。
[0099] S220,展开KD树。首先构造根节点,根节点对应于包含T的k维空间的超矩形区域。然后,基于根节点划分划分左右子树,直至不存在子节点,可见,展开KD树的过程是是一个
逐级展开的递归过程。
[0100] S230,选择最大方差的第K个维度。即构造根节点的过程,分别对训练集中的特征计算特征值方差,根节点选取方差值最大的维度。
[0101] S240,将第K个维度的中位数确定为阈值Ku。
[0102] S250,利用该阈值划分左右子树。即利用该阈值将根节点对应的超矩形区域切分为两个子区域,或者说,利用该阈值可以分别确定或构造左右子树的根节点。
[0103] S260,左子树特征。即利用该阈值确定或构造左子树的根节点。
[0104] S270,右子树特征。即利用该阈值确定或构造右子树的根节点。
[0105] S280,展开左子树。采用展开展开KD树的方式展开左子树。换言之,对左子空间的数据重复根节点的过程就可以得到下一级子节点,也就是左子空间的根节点,同时将左子
空间中的数据集进一步细分,如此反复直到左子空间中只包含一个数据点。
[0106] S290,展开右子树。采用展开展开KD树的方式展开右子树。换言之,对右子空间的数据重复根节点的过程就可以得到下一级子节点,也就是右子空间的根节点,同时将右子
空间中的数据集进一步细分,如此反复直到右子空间中只包含一个数据点。
[0107] 简言之,首先分别对训练集中的特征计算特征值方差,根节点选取方差值最大的维度,以该特征值的中位数对应样本划分左右子树,然后再递归生成KD树。中位数
(Median),中位数又称中值,是按顺序排列的一组数据中居于中间位置的数,代表一个样
本、种群或概率分布中的一个数值,其可将数值集合划分为相等的上下两部分。对于有限的
数集,可以通过把所有观察值按高低排序后找出正中间的一个作为中位数。如果观察值有
偶数个,通常取最中间的两个数值的平均数作为中位数。
[0108] 在一些实施例中,该S120可包括:
[0109] 将该Xi与该Xij(near)之间的互信息,确定为该Xij(near)的互信息权重。
[0110] 换言之,针对每一个少数类样本,少数类样本的每一个最近邻样本都有对应的最近邻样本互信息权重,最近邻样本的互信息权重的计算方法为:假设某个少数类样本X1的M
个最近邻为K个最近邻,即该X1的K个最近邻可包括X11(near)、X12(near)、X13(near)、…、X1k(near),该
K个最近邻样本与少数类样本分别对应的互信息计算结果为:I(X1,X11(near))、I(X1,
X12(near))、I(X1,X13(near))、…、I(X1,X1k(near)),则每一个最近邻样本对应的最近邻样本的互信
息权重为:I(X1,X11(near))、I(X1,X12(near))、I(X1,X13(near))、…、I(X1,X1k(near))。
[0111] 当然,在本申请的其他可替代实施例中,也可以通过其他方式确定该Xij(near)的互信息权重。例如,可以将该Xi与该Xij(near)之间的互信息与一个放大系数的乘积,确定为该
Xij(near)的互信息权重。例如,该一个放大系数可以为10或其他数值,基于此,可确保互信息
权重的最终取值可以为一个整数,方便后续的互信息权重的使用。
[0112] 在一些实施例中,该S130可包括:
[0113] 若该Xij(near)的类型为多数类样本,则将该Xij(near)的互信息权重确定为该Wij(near);若该Xij(near)的类型为少数类样本,则将大于或等于该Xij(near)的互信息权重的第一数值确
定为该Wij(near)。在一种实现方式中,该第一数值为该Xij(near)的互信息权重与第二数值的
和,该第二数值大于或等于0。在一种实现方式中,该第二数值的取值用于表征在该Xi与该
Xij(near)之间插入的新样本靠近该T个少数类样本的边界的程度。
[0114] 换言之,对少数类样本点的M个最近邻样本,针对M个最近邻样本中的每一个最近邻样本,根据最近邻样本的类型和互信息权重,综合判断获取对应的最近邻样本的权重。若
最近邻样本类型为多数类样本,那么最近邻样本权重为最近邻样本互信息权重,即:假设X1
的最近邻样本X11(near)为多数类样本,那么X11(near)的最近邻样本权重W11(near)为:W11(near) = I
(X1,X11(near));若最近邻样本类型为少数类样本,那么最近邻样本权重为最近邻样本互信息
权重与非负系数 之和,即:假设X1的最近邻样本X12(near)为少数类样本,那么X1的最近邻样
本权重X12(near)为:W12(near) = I(X1,X12(near))。需要说明的是,本申请中,的取值可根据实际
需求进行调整,越大意味着合成样本更靠近少数类边界。
[0115] 在一些实施例中,该S140可包括:
[0116] 确定该Wij(near)与该M个最近邻样本中的权重之和的比值;将该N与1的差值,与该比值的乘积,确定为该Nj。
[0117] 换言之,基于类别不均衡倍率N和少数类样本Xi在与其对应的M个最近邻样本范围内合成插值N‑1个新的少数类样本。其中,针对第j个最近邻样本Xij(near),进行SMOTE插值时,
对应的需要在Xi和Xij(near)之间插入的插值样本数量Nj可通过以下方式确定:
[0118] ;
[0119] 其中,针对少数类样本Xi,Xi对应的M个最近邻样本每一个最近邻样本与该Xi的互信息大于或等于第一阈值Ia,Ia>0。
[0120] 具体而言,首先,标注分类模型的训练集中的数据,区分少数类样本和多数类样本,获取各个类别的样本数,类别不均衡倍率N的取值可通过以下方式计算:N=多数类样本
数/少数类样本数。接着,确定该Wij(near)与该M个最近邻样本中的权重之和的比值;将该N与1
的差值,与该比值的乘积,确定为该Nj。
[0121] 在一些实施例中,该S150可包括:
[0122] 基于该Xi、Xij(near)及第一系数的关系式,在该Xi与该Xij(near)之间插入该Nj个新样本;该第一系数为大于0且小于1的随机数。
[0123] 在一种实现方式中,确定了每一个最近邻样本的插值样本的数量后,在Xi和各个最近邻样本之间进行插值,新插值样本点Xij(new)为:
[0124] ;
[0125] 其中,为0到1之间的随机数。
[0126] 最终,在Xi和Xi对应的M个最近邻样本之间,可以合成N‑1个新的少数类样本。基于此,少数类样本得到了扩充,解决了数据不均衡问题。
[0127] 在一些实施例中,该基于训练集中的第i个少数类样本Xi与该Xi的 个最近邻样本中的每一个近邻样本之间的互信息,在该K个最近邻样本中确定M个最近邻样本之前,该方
法100还可包括:
[0128] 对原始数据集进行数据清洗和特征处理,得到该训练集;
[0129] 其中,该数据清洗包括舍弃该原始数据集中特征值小于第二阈值的特征、舍弃该原始数据集中特征值大于第三阈值的特征、对该原始数据集中缺失特征进行填充、对该原
始数据集中特征进行学习得到衍生特征;该特征处理包括对该原始数据集中连续性特征进
行分箱离散化以及对该原始数据集中离散型特征进行独热one‑hot编码。换言之,通过预处
理过程对该原始数据集进行处理,得到该训练集。
[0130] 换言之,数据预处理包括数据清洗和特征处理,具体步骤包括:①,舍弃缺失值过多的特征:即设定缺失值过滤阈值=样本数据量×n,n可设置为0.4,具体可以根据应用场景
而设定,若某特征数据缺失的数量超过该阈值则过滤这个特征,同时删除单值特征;②,进
行异常值处理:即根据特征分布,舍弃特征数值太大、排在前1/m的异常值,m可设置为
10000,具体根据应用场景而设定;③,缺失值处理:即连续型特征用均值填充,离散型特征
用常数填充作为单独类别;连续型特征不可数,离散型特征可数;离散型特征可直接此案有
数据表示;连续型特征不可数,连续型特征可用公式来表示;④,特征衍生过程:即通过特征
变换、特征平方、特征加减进行特征组合和衍生过程生成衍生特征;⑤,特征处理:即对连续
型特征进行分箱离散化以及对离散型特征进行独热(one‑hot)编码。热编码用于处理类别
间不具有大小关系的特征,但是会造成维度过高,运算复杂,占用大量存储空间,通常可以
利用降维来处理,简化维度,近似替代原来的数据信息量。在处理两两组合的特征过程中,
依然会出现过拟合等现象,可以通过特征组成的残差来进一步优化。
[0131] 需要说明的是,特征是一个客体或一组客体特性的抽象结果。衍生特征是指用原始数据进行特征学习得到新的特征。衍生特征一般有两种原因引起的:数据自身的变化,使
数据中出现很多原来没有的特征;进行特征学习时,算法根据特征之间的某种关系,产生了
衍生特征,有时衍生特征更能反应数据特征之间的关系。衍生特征也要求机器学习和深度
学习算法拥有更强的学习能力,即增量学习、在线学习、迁移学习。在计算机科学领域,衍生
特征是指用原始数据进行特征学习得到新的特征。在机器学习中,产生衍生特征的原因有
多种:数据具有时间属性,带有强烈时间特征;数据具有动态性、无序性、无限性、突发性。针
对特征变换,数据特征分为连续特征和分类特征,分类特征又称为离散特征。不同的数据类
型其处理方式有所不同。例如针对连续特征,归一化是处理连续数据特征常用方法,其目的
能够通过梯度下降快速找到最优解。特征标准归一化主要可分为线性标准化和非线性标准
化。
[0132] 当然,在其他可替代实施例中,也可以利用特征工程对该原始数据集进行处理,得到该训练集,本申请实施例对此不作限定。
[0133] 特征工程可包括特征提取、特征构建、特征选择等模块。特征构建:是原始数据中人工的构建新的特征。特征提取:自动地构建新的特征,将原始数据转换为一组具有明显物
理意义或者统计意义或核的特征。特征选择:从特征集合中挑选一组最具统计意义的特征
子集,从而达到降维的效果。针对特征提取,特征提取的对象是原始数据(raw data),即原
始特征,其用于构建新的特征,即,将原始数据转换为一组具有明显物理意义或者统计意义
的特征。原始数据可以包括静态数据和动态数据,其中静态数据可以是和用户的属性信息,
动态特征可以是用户表征用户的操作行为的数据。当然,本申请实施例对原始数据的具体
形式不作限定。作为示例,原始数据可以构建为表格数据,以得到特征矩阵,基于此,可使用
主要成分分析(Principal Component Analysis,PCA)来进行特征提取从而创建新的用于
表征LTV的特征。针对特征构建,特征构建指的是从原始数据中人工的构建新的特征。具体
地,可通过真实的数据样本,以预测LTV的角度确定新的特征的潜在形式和数据结构,以能
够更好地应用到预测模型中。特征构建需要很强的洞察力和分析能力,要求我们能够从原
始数据中找出一些具有物理意义的特征。假设原始数据是表格数据,可以使用混合属性或
者组合属性来创建新的特征,或是分解或切分原有的特征来创建新的特征。针对特征选择,
可基于特征重要性进行排名,然后基于特征排名结果进行特征选择。假设存在一个标准的
表格数据,表格数据的每一行(即类别项)表示的是一个观测样本数据,表格数据中的每一
列(即特征项)就是一个特征,在这些特征中,有的特征携带的信息量丰富,有的特征携带的
信息量很少,则携带的信息量很少的特征属于无关数据(irrelevant data),可以通过特征
项和类别项之间的相关性(特征重要性)来衡量特征重要性,然后基于特征排名结果进行特
征选择。需要说明的是,本申请实施例对特征工程涉及的具体流程不作限定。作为示例,特
征工程涉及的流程包括但不限于:分箱(Binning)、独热编码(One‑Hot Encoding)、特征哈
希(Hashing Trick)、嵌套法(Embedding)、取对数(Log Transformation)、特征缩放
(Scaling)、标准化(Normalization)或特征交互(Feature Interaction)。当然,也可以包
括其他流程,本申请实施例对此不作限定。
[0134] 此外,本申请实施例对用于分类的分类模型不作具体限定。作为示例,该分类模型包括但不限于:传统学习模型、集成学习模型或深度学习模型。可选的,传统学习模型包括
但不限于:树模型(回归树)或逻辑回归(logistic regression,LR)模型;集成学习模型包
括但不限于:梯度提升算法的改进模型(XGBoost)或随机森林模型;深度学习模型包括但不
限于:长短期记忆网络(Long Short‑Term Memory ,LSTM)或神经网络。当然,在本申请的其
他实施例中,也可以使用其他机器学习类的模型,本申请对此不作具体限定。
[0135] 在一些实施例中,该方法100还可包括:
[0136] 基于该训练集和针对该T个少数类样本中的每一个少数类样本插入的所有新样本,训练分类模型。
[0137] 换言之,基于该训练集和针对该T个少数类样本中的每一个少数类样本插入的所有新样本,进行分类模型的训练和分类预测,例如使用朴素贝叶斯(NB)、支持向量机(SVM)
等模型进行分类模型的训练和分类预测,由于少数类特征的扩充,增强了模型对少数类样
本的学习,提高了少数类样本预测和识别的准确率。
[0138] 本申请中,提出了一种互信息和SMOTE处理数据类别不均衡的方法,通过引入互信息和最近邻样本的类型判断进行差异化插值,该方法更加充分地考虑了少数类样本的近邻
分布特征,使新插值点的分布更趋近于原始样本的数据分布,兼顾了边界点的重要性,解决
了现有合成方法容易造成的样本重叠、边界固定等问题,能够提升数据类别不均衡场景下
少数类样本预测和识别的准确率。
[0139] 需要说明的是,本申请提出了融合互信息和SMOTE的方式处理数据类别不均衡的问题,但本申请并不限于此。例如,采用卡方检验(CHI)、信息增益(IG)等相关度度量信息与
SMOTE进行融合,对SMOTE进行改进,也属于本申请的保护范围内。换言之,本申请实施例中
的互信息旨在表征能够度量两个数据之间的关系,该互信息也可以称为融合信息,本申请
对互信息的具体实现方式不作限定。
[0140] 图4是本申请实施例提供的处理数据类别不均衡的方法300的示意流程图。需要说明的,本申请实施例提供的方案可通过任何具有数据处理能力的电子设备执行。例如,该电
子设备可实施为服务器。服务器可以是独立的物理服务器,也可以是多个物理服务器构成
的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、
网络服务、云通信、中间件服务、域名服务、安全服务、以及大数据和人工智能平台等基础云
计算服务的云服务器,服务器可以通过有线或无线通信方式进行直接或间接地连接,本申
请在此不做限制。为便于描述,下文以处理数据类别不均衡的装置为例对本申请提供的预
测方法进行说明。
[0141] 如图4所示,该处理数据类别不均衡的方法300可包括:
[0142] S310,对原始数据集进行数据清洗和特征处理,得到训练集。
[0143] 其中,该数据清洗包括舍弃该原始数据集中特征值小于第二阈值的特征、舍弃该原始数据集中特征值大于第三阈值的特征、对该原始数据集中缺失特征进行填充、对该原
始数据集中特征进行学习得到衍生特征;该特征处理包括对该原始数据集中连续性特征进
行分箱离散化以及对该原始数据集中离散型特征进行独热one‑hot编码。换言之,通过预处
理过程对该原始数据集进行处理,得到该训练集。
[0144] S320,确定类别不均衡倍率N。
[0145] 具体而言,首先,标注分类模型的训练集中的数据,区分少数类样本和多数类样本,获取各个类别的样本数,类别不均衡倍率N的取值可通过以下方式计算:N=多数类样本
数/少数类样本数。
[0146] S330,获取该训练集中的T个少数类样本中每一个少数类样本的M个最近邻样本。
[0147] 具体而言,利用基于该训练集建立的K‑维KD树模型,确定该K个最近邻样本;将该K个最近邻样本中的与该Xi的互信息大于或等于第一阈值的最近邻样本,确定为该M个最近
邻样本。换言之,M值的选取与互信息的计算结果相关,即要求该M个最近邻样本中的每一个
最近邻样本与该Xi的互信息大于或等于第一阈值Ia,Ia>0。从而,针对每一个少数类样本
的K个最近邻样本,基于少数类样本和K个最近邻样本中每一个最近邻样本的互信息,调整K
的选取(即确定M值)。基于此,能够确保少数类样本的最近邻样本都与该少数类样本相关程
度较高,从而在这两个样本之间合成的新样本也与原少数类样本相关性高,能够更精准地
合成新的少数类样本。
[0148] S340,计算每一个少数类样本与各个最近邻样本之间的互信息。
[0149] 具体而言,互信息的公式可定义为:
[0150] ;
[0151] 其中,I(x,y)表示x和y的互信息,p(x,y)是x和y的联合概率分布函数,而p(x)和p(y)分别是x和y的边缘概率分布函数。p(y|x)是x没有涉及到的y的部分的不确定度的量度。
由于互信息本身满足I(x,y)≥0,而本申请方法在该K个最近邻样本中确定M个最近邻样本
时,会考虑到少数类样本与各个最近邻样本之间的互信息,相当于,每一个少数类样本对应
M个最近邻样本是有差异的。
[0152] S350,确定少数类样本与各个最近邻样本的互信息权重。
[0153] 针对每一个少数类样本,少数类样本的每一个最近邻样本都有对应的最近邻样本互信息权重,最近邻样本的互信息权重的计算方法为:假设某个少数类样本X1的M个最近邻
为K个最近邻,即该X1的K个最近邻可包括X11(near)、X12(near)、X13(near)、…、X1k(near),该K个最近
邻样本与少数类样本分别对应的互信息计算结果为:I(X1,X11(near))、I(X1,X12(near))、I(X1,
X13(near))、…、I(X1,X1k(near)),则每一个最近邻样本对应的最近邻样本的互信息权重为:I
(X1,X11(near))、I(X1,X12(near))、I(X1,X13(near))、…、I(X1,X1k(near))。
[0154] S360,综合最近邻样本类型和最近邻样本的互信息权重,获取最近邻样本的权重。
[0155] 对少数类样本点的M个最近邻样本,针对M个最近邻样本中的每一个最近邻样本,根据最近邻样本的类型和互信息权重,综合判断获取对应的最近邻样本的权重。若最近邻
样本类型为多数类样本,那么最近邻样本权重为最近邻样本互信息权重,即:假设X1的最近
邻样本X11(near)为多数类样本,那么X11(near)的最近邻样本权重W11(near)为:W11(near) = I(X1,
X11(near));若最近邻样本类型为少数类样本,那么最近邻样本权重为最近邻样本互信息权重
与非负系数 之和,即:假设X1的最近邻样本X12(near)为少数类样本,那么X1的最近邻样本权
重X12(near)为:W12(near) = I(X1,X12(near))。需要说明的是,本申请中,的取值可根据实际需求
进行调整,越大意味着合成样本更靠近少数类边界。
[0156] S370,基于最近邻样本的权重进行SMOTE插值。
[0157] 基于类别不均衡倍率N和少数类样本Xi在与其对应的M个最近邻样本范围内合成插值N‑1个新的少数类样本。其中,针对第j个最近邻样本Xij(near),进行SMOTE插值时,对应的
需要在Xi和Xij(near)之间插入的插值样本数量Nj可通过以下方式确定:
[0158] ;
[0159] 其中,针对少数类样本Xi,Xi对应的M个最近邻样本每一个最近邻样本与该Xi的互信息大于或等于第一阈值Ia,Ia>0。
[0160] 确定了每一个最近邻样本的插值样本的数量后,在Xi和各个最近邻样本之间进行插值,新插值样本点Xij(near)为:
[0161] ;
[0162] 其中,为0到1之间的随机数。
[0163] 最终,在Xi和Xi对应的M个最近邻样本之间,可以合成N‑1个新的少数类样本。基于此,少数类样本得到了扩充,解决了数据不均衡问题。
[0164] S380,利用SMOTE插值后的训练集训练分类模型,并利用训练后的该分类模型进行预测。
[0165] 基于该训练集和针对该 个少数类样本中的每一个少数类样本插入的所有新样本,进行分类模型的训练和分类预测,例如使用朴素贝叶斯(NB)、支持向量机(SVM)等模型
进行分类模型的训练和分类预测,由于少数类特征的扩充,增强了模型对少数类样本的学
习,提高了少数类样本预测和识别的准确率。
[0166] 简言之,对原始数据集中的数据进行数据预处理后,确定数据不均衡倍率;然后获取每一个少数类样本的K最近邻,并针对每一个少数类样本,计算少数类样本与各个最近邻
样本之间的互信息,接着针对每一个最近邻样本,确定少数类样本与最近邻样本的互信息
权重,并综合最近邻样本的类型和最近邻样本的互信息权重获取最近邻样本的权重;最后
基于最近邻样本的权重进行SMOTE插值,并基于SMOTE插值后的训练集中的数据进行分类模
型训练,训练后的分类模型可用于分类预测。
[0167] 以上结合附图详细描述了本申请的优选实施方式,但是,本申请并不限于上述实施方式中的具体细节,在本申请的技术构思范围内,可以对本申请的技术方案进行多种简
单变型,这些简单变型均属于本申请的保护范围。例如,在上述具体实施方式中所描述的各
个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要
的重复,本申请对各种可能的组合方式不再另行说明。又例如,本申请的各种不同的实施方
式之间也可以进行任意组合,只要其不违背本申请的思想,其同样应当视为本申请所公开
的内容。
[0168] 还应理解,在本申请的各种方法实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例
的实施过程构成任何限定。
[0169] 上文对本申请实施例提供的方法进行了说明,下面对本申请实施例提供的装置进行说明。
[0170] 图5是本申请实施例提供的处理数据类别不均衡的装置400的示意性框图。
[0171] 如图5所示,该处理数据类别不均衡的200可包括:
[0172] 确定单元410,用于:
[0173] 基于训练集中的第i个少数类样本Xi与该Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在该K个最近邻样本中确定M个最近邻样本;其中,0<i≤T;该T表征该训练
集中少数类样本的数量;基于该Xi与该M个最近邻样本中的第j个最近邻样本Xij(near)之间的
互信息,确定该Xij(near)的互信息权重,0<j≤M;基于该Xij(near)的类型和该Xij(near)的互信息
权重,确定该Xij(near)的权重Wij(near);基于该Wij(near)和类别不均衡倍率N,确定该Xi与该
Xij(near)之间待插入的少数类样本的数量Nj;该类别不均衡倍率N为该训练集中多数类样本
的数量和该T 的比值;
[0174] 插入单元420,用于在该Xi与该Xij(near)之间插入该Nj个新样本。
[0175] 在一些实施例中,该确定单元410具体用于:
[0176] 利用基于该训练集建立的K‑维KD树模型,确定该K个最近邻样本;将该K个最近邻样本中的与该Xi的互信息大于或等于第一阈值的最近邻样本,确定为该M个最近邻样本。
[0177] 在一些实施例中,该确定单元410具体用于:
[0178] 将该Xi与该Xij(near)之间的互信息,确定为该Xij(near)的互信息权重。
[0179] 在一些实施例中,该确定单元410具体用于:
[0180] 若该Xij(near)的类型为多数类样本,则将该Xij(near)的互信息权重确定为该Wij(near);若该Xij(near)的类型为少数类样本,则将大于或等于该Xij(near)的互信息权重的第一数值确
定为该Wij(near)。在一种实现方式中,该第一数值为该Xij(near)的互信息权重与第二数值的
和,该第二数值大于或等于0。在一种实现方式中,该第二数值的取值用于表征在该Xi与该
Xij(near)之间插入的新样本靠近该T个少数类样本的边界的程度。
[0181] 在一些实施例中,该确定单元410具体用于:
[0182] 确定该Wij(near)与该M个最近邻样本中的权重之和的比值;将该N与1的差值,与该比值的乘积,确定为该Nj。
[0183] 在一些实施例中,该插入单元420具体用于:
[0184] 基于该Xi、Xij(near)及第一系数的关系式,在该Xi与该Xij(near)之间插入该Nj个新样本;该第一系数为大于0且小于1的随机数。
[0185] 在一些实施例中,该基于训练集中的第i个少数类样本Xi与该Xi的K个最近邻样本中的每一个近邻样本之间的互信息,在该K个最近邻样本中确定M个最近邻样本之前,该确
定单元410还可用于:
[0186] 对原始数据集进行数据清洗和特征处理,得到该训练集;
[0187] 其中,该数据清洗包括舍弃该原始数据集中特征值小于第二阈值的特征、舍弃该原始数据集中特征值大于第三阈值的特征、对该原始数据集中缺失特征进行填充、对该原
始数据集中特征进行学习得到衍生特征;该特征处理包括对该原始数据集中连续性特征进
行分箱离散化以及对该原始数据集中离散型特征进行独热one‑hot编码。
[0188] 在一些实施例中,该确定单元410还可用于:
[0189] 基于该训练集和针对该T个少数类样本中的每一个少数类样本插入的所有新样本,训练分类模型。
[0190] 应理解,装置实施例与方法实施例可以相互对应,类似的描述可以参照方法实施例。为避免重复,此处不再赘述。具体地,处理数据类别不均衡的装置400可以对应于执行本
申请实施例的方法100 300中的相应主体,并且处理数据类别不均衡的装置400中的各个单
~
元分别为了实现方法100 300中的相应流程,为了简洁,在此不再赘述。
~
[0191] 还应当理解,本申请实施例涉及的处理数据类别不均衡的装置400中的各个单元可以分别或全部合并为一个或若干个另外的单元来构成,或者其中的某个(些)单元还可以
再拆分为功能上更小的多个单元来构成,这可以实现同样的操作,而不影响本申请的实施
例的技术效果的实现。上述单元是基于逻辑功能划分的,在实际应用中,一个单元的功能也
可以由多个单元来实现,或者多个单元的功能由一个单元实现。在本申请的其它实施例中,
该处理数据类别不均衡的装置400也可以包括其它单元,在实际应用中,这些功能也可以由
其它单元协助实现,并且可以由多个单元协作实现。根据本申请的另一个实施例,可以通过
在包括例如中央处理单元(CPU)、随机存取存储介质(RAM)、只读存储介质(ROM)等处理元件
和存储元件的通用计算机的通用计算设备上运行能够执行相应方法所涉及的各步骤的计
算机程序(包括程序代码),来构造本申请实施例涉及的处理数据类别不均衡的装置400,以
及来实现本申请实施例的处理数据类别不均衡的方法。计算机程序可以记载于例如计算机
可读存储介质上,并通过计算机可读存储介质装载于电子设备中,并在其中运行,来实现本
申请实施例的相应方法。
[0192] 换言之,上文涉及的单元可以通过硬件形式实现,也可以通过软件形式的指令实现,还可以通过软硬件结合的形式实现。具体地,本申请实施例中的方法实施例的各步骤可
以通过处理器中的硬件的集成逻辑电路和/或软件形式的指令完成,结合本申请实施例公
开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及
软件组合执行完成。可选地,软件可以位于随机存储器,闪存、只读存储器、可编程只读存储
器、电可擦写可编程存储器、寄存器等本领域的成熟的存储介质中。该存储介质位于存储
器,处理器读取存储器中的信息,结合其硬件完成上述方法实施例中的步骤。
[0193] 图6是本申请实施例提供的处理数据类别不均衡的电子设备500的示意结构图。
[0194] 如图6所示,该处理数据类别不均衡的电子设备500至少包括处理器510以及计算机可读存储介质520。其中,处理器510以及计算机可读存储介质520可通过总线或者其它方
式连接。计算机可读存储介质520用于存储计算机程序521,计算机程序521包括计算机指
令,处理器510用于执行计算机可读存储介质520存储的计算机指令。处理器510是处理数据
类别不均衡的电子设备500的计算核心以及控制核心,其适于实现一条或多条计算机指令,
具体适于加载并执行一条或多条计算机指令从而实现相应方法流程或相应功能。
[0195] 作为示例,处理器510也可称为中央处理器(CentralProcessingUnit,CPU)。处理器510可以包括但不限于:通用处理器、数字信号处理器(Digital Signal Processor,
DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门
阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体
管逻辑器件、分立硬件组件等等。
[0196] 作为示例,计算机可读存储介质520可以是高速RAM存储器,也可以是非不稳定的存储器(Non‑VolatileMemory),例如至少一个磁盘存储器;可选的,还可以是至少一个位于
远离前述处理器510的计算机可读存储介质。具体而言,计算机可读存储介质520包括但不
限于:易失性存储器和/或非易失性存储器。其中,非易失性存储器可以是只读存储器
(Read‑Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只
读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,
EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用
作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取
存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取
存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data 
Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同
步连接动态随机存取存储器(synch link DRAM,SLDRAM)和直接内存总线随机存取存储器
(Direct Rambus RAM,DR RAM)。
[0197] 在一种实现方式中,该处理数据类别不均衡的电子设备500可以是任一具有数据处理能力的电子设备;该计算机可读存储介质520中存储有第一计算机指令;由处理器510
加载并执行计算机可读存储介质520中存放的第一计算机指令,以实现图1所示方法实施例
中的相应步骤;具体实现中,计算机可读存储介质520中的第一计算机指令由处理器510加
载并执行相应步骤,为避免重复,此处不再赘述。
[0198] 根据本申请的另一方面,本申请实施例还提供了一种计算机可读存储介质(Memory),计算机可读存储介质是处理数据类别不均衡的电子设备500中的记忆设备,用于
存放程序和数据。例如,计算机可读存储介质520。可以理解的是,此处的计算机可读存储介
质520既可以包括处理数据类别不均衡的电子设备500中的内置存储介质,当然也可以包括
处理数据类别不均衡的电子设备500所支持的扩展存储介质。计算机可读存储介质提供存
储空间,该存储空间存储了处理数据类别不均衡的电子设备500的操作系统。并且,在该存
储空间中还存放了适于被处理器510加载并执行的一条或多条的计算机指令,这些计算机
指令可以是一个或多个的计算机程序521(包括程序代码)。
[0199] 根据本申请的另一方面,本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存
储介质中。例如,计算机程序521。此时,数据处理设备500可以是计算机,处理器510从计算
机可读存储介质520读取该计算机指令,处理器510执行该计算机指令,使得该计算机执行
上述各种可选方式中提供的处理数据类别不均衡的方法。
[0200] 换言之,当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令
时,全部或部分地运行本申请实施例的流程或实现本申请实施例的功能。该计算机可以是
通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计
算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质进行
传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如
同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微
波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。
[0201] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元以及流程步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究
竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人
员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超
出本申请的范围。
[0202] 最后需要说明的是,以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到
变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的
保护范围为准。