CN109784395A - 一种针对不均衡数据的算法推荐方法 - Google Patents
一种针对不均衡数据的算法推荐方法 Download PDFInfo
- Publication number
- CN109784395A CN109784395A CN201910013382.4A CN201910013382A CN109784395A CN 109784395 A CN109784395 A CN 109784395A CN 201910013382 A CN201910013382 A CN 201910013382A CN 109784395 A CN109784395 A CN 109784395A
- Authority
- CN
- China
- Prior art keywords
- algorithm
- data set
- feature
- candidate
- sequence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种针对不均衡数据的算法推荐方法,使用特征提取方法提取数据集的特征并对每一维特征分别进行标准化,从而得到数据集的元特征。然后使用AUC,Recall以及算法的运行时间来评估候选算法的性能。在收集元目标时,获取候选算法在不均衡数据集上的性能指标,对候选算法排序,并使用得分的方法将三个候选算法序列进行融合,最终得到元目标,即候选算法的排序序列。在给新数据集推荐算法时,通过特征提取方法获取新数据集的特征向量,使用标准化方法,对新数据集的特征向量进行标准化。然后使用KNN方法获取新数据集的K个近邻的候选算法序列,通过将这K个邻居的候选算法序列加和并重新排序,就得到了新数据集的候选算法序列。
Description
技术领域
本发明涉及算法推荐技术领域,特别涉及一种针对不均衡数据的算法推荐方法。
背景技术
随着从数据中挖掘有用信息的需求越来越高,研究人员提出了许多基于不同假设空间的学习算法。然而没有任何分类算法能够在所有现存的分类问题上都取得非常好的效果,因此,在实际的分类问题中很难为其选择一个合适的分类算法,如何为数据集选择合适的分类算法就显得尤为重要。决定不同的算法推荐性能差距的最大方面有:特征提取方法、元目标选择和合适算法识别,针对不均衡数据,通过对取不同特征时推荐算法的性能分别做了比较,从而选择最好的特征提取方法。
发明内容
本发明目的在于提供一种针对不均衡数据的算法推荐方法。本方法提出的针对不均衡数据集的算法推荐方法不仅考虑到分类器在数据集上的AUC,同时综合考虑了少数类上的Recall以及算法的运行时间,并使用序列融合的方法将三个序列结合起来。这样在给不均衡数据集做算法推荐时,在少数类上的表现会相对更好。
本发明是通过以下技术方案来实现:
一种针对不均衡数据的算法推荐方法,包括以下步骤:
步骤1,元特征收集:
使用基于距离度量的特征,通过计算数据集中两两实例之间的距离,然后将这些距离排序,分别计算出距离序列的特征集合,用于反映了数据集中实例之间的关系;
步骤2,元目标收集:
首先需要进行合适算法识别,在数据集上度量所有的候选算法,采用十折交叉验证的方法;
步骤3,根据各个指标对候选算法进行排序:
在收集完候选算法在不均衡数据集上的性能之后,需要对候选算法进行排序;在得到候选算法的最终排序序列后,还需要将元特征与元目标结合起来构成了元数据集;
步骤4,推荐器的构建及新数据集合适算法推荐:
使用KNN进行算法推荐,KNN推荐器的构建和新数据集合适算法推荐同时进行,当有新数据集时,首先提取数据集的元特征,然后通过元特征计算出该数据集的k个近邻,然后将k个近邻的元目标进行整合,整合方法就是将对应候选算法的排名加在一起,然后再重新按照加和之后的结果进行排序;即得到新数据集候选算法的排序序列,推荐过程完成。
作为本发明的进一步改进,步骤1中,距离序列的特征集合包括距离序列的均均值、方差、标准差、峰度、偏度、归一化后的频率和Z-Score的频率。
作为本发明的进一步改进,步骤2中,十折交叉验证是将数据集分成十份,轮流将其中9份作为训练数据,1份作为测试数据,进行试验;在进行合适算法识别时,通过十折交叉验证方法得到算法在数据集上的AUC、Recall。
作为本发明的进一步改进,步骤3的具体步骤为:
不均衡学习算法推荐方法在进行元目标收集时,首先需要在所有数据集上收集候选算法的性能,根据各个指标对候选算法进行排序;在收集完候选算法在不均衡数据集上的性能之后,需要根据AUC、少数类上的Recall以及运行时间对候选算法进行排序;假设候选算法分别为 {Alg1,Alg2,Alg3,...,Algm}共m个,然后在AUC上按照从大到小排序,得到的各个候选算法的对应次序为{a1,a2,a3,...,am};在少数类Recall上,按照从大到小排序,得到的各个候选算法对应次序为{b1,b2,b3,...,bm};在运行时间上,按照从大到小排序,得到的各个候选算法对应次序为{c1,c2,c3,...,cm};
在得到候选算法在各个指标之上的排序序列之后就需要将这三个序列融合起来;将这三个序列融合时,首先需要给每个次序一个得分,一般排的越靠前得分越高;对于算法Algi,其对应的AUC的次序为ai,Recall的次序为 bi,运行时间的排序为ci,通过查找得分与排名,分别得到每个次序对应的得分m1,m2,m3;然后需要将这三个得分加权求和,其计算方法如下:
αm1+βm2-γm3
α、β、γ三个系数分别体现不同指标的重要性,考虑到AUC和Recall 在评估不均衡学习算法时反映了分类器的不同方面,其在评价不均衡分类器时起到相同的作用,令α=β=1;γ的取值也会影响到推荐性能,依据上面的方法得到所有候选算法的加权得分;得到加权得分后,就需要将最后的得分进行排序,从而得到候选算法最终的排序序列;
在得到候选算法的最终排序序列后,还需要将元特征与元目标结合起来就构成了元数据集;元数据的每一条记录就是对一个数据集进行特征提取和元目标收集得到的结果;构建完元数据之后,在元数据集上构建推荐器。
作为本发明的进一步改进,步骤4中:
当给新数据集推荐合适算法时,首先需要进行特征提取,获取新数据集的特征;然后对得到的特征进行标准化,然后分别计算新的特征向量和所有历史数据集特征向量之间的欧式距离,然后将其按照从小到大的次序排列,并截取前K个;假设得到的K个近邻的类标签分别为:{a11,a12,...,a1t}, {a21,a22,...,a2t},…,{ak1,ak2,...,akt};其中aij表示第i个近邻的第j个算法的次序;得到K个近邻的类标签后,需要将这K个近邻的类标签进行加和;计算方法如下:
通过上式可以计算出每个候选算法的得分;然后需要再将各个候选算法的得分进行排序,此时ai越小,则排序越靠前;这样就得到了新数据集的候选算法排序序列。
作为本发明的进一步改进,获取新数据集的特征具体步骤为:
在使用KNN进行算法推荐时,首先需要计算两个数据集之间的距离,采用欧式距离,假设两个数据集D1和D2,从数据集D1中提取出的特征向量为{F11,F12,F13,…,F1t},从数据集D2中提取出的特征为{F21,F22,F23,…,F2t},其中t为特征的维数。
作为本发明的进一步改进,对得到的特征进行标准化具体步骤为:
使用min-max标准化,转换函数如下:
式中:min——当前特征取值的最小值;max——当前特征取值的最大值;
x——当前特征取值;
将元数据集中的每一维的元特征分别进行归一化,归一化之后得到数据集D1的特征为{F′11,F'12,...,F′1t},数据集D2的特征为{F′21,F'22,...,F′2t}。
作为本发明的进一步改进,欧式距离计算具体步骤为:
标准化完成后需要使用标准化之后的特征向量计算两个数据集之间的距离;采用欧式距离反映两个数据集之间的距离;具体计算公式如下:
式中:F′1i——为数据集D1的第i个特征标准化后的值;F′2i——为数据集D2的第i个特征标准化后的值。
与现有技术相比,本发明具有以下优点:
相比于其他的算法推荐,本发明在进行算法推荐时,使用多标签推荐,并将时间因素考虑在内。不仅使用到传统的数据集特征,也使用到基于复杂度的特征等。之后,在进行合适算法识别时,不仅考虑到分类算法的在数据集上的AUC,同时也考虑了分类算法在少数类上的Recall,以及分类算法在数据集上的运行时间。该算法具有如下优点:
第一:这种方法推荐出了候选算法的序列,如果在实际问题中需要多个算法时,可以从候选算法序列中截取;
第二:这种方法使用的基于距离的特征提取方法相比于其他特征提取方法更加简单,只需要计算数据集中实例之间的欧式距离即可;
第三:本方法提出的针对不均衡数据集的算法推荐方法不仅考虑到分类器在数据集上的AUC,同时综合考虑了少数类上的Recall以及算法的运行时间,并使用序列融合的方法将三个序列结合起来。这样在给不均衡数据集做算法推荐时,在少数类上的表现会相对更好。
附图说明
图1为算法流程图;
图2为针对不均衡数据的算法推荐方法伪代码;
图3为不同K值对算法推荐的平均Spearman系数的影响;
图4为不同K值对算法推荐命中率的影响。
具体实施方式
以下结合附图和实施例对本发明的特征及其它相关特征作进一步详细说明,以便于同行业技术人员的理解。
如图1所示,本发明一种针对不均衡数据的算法推荐方法,包括如下步骤,
步骤1,元特征收集,元特征是从数据集中提取出来的特征集合,并可以用来代替原始的数据集。据此提出了基于距离度量的特征,该特征反映了数据集中实例之间的关系。这种特征提取方法通过计算数据集中两两实例之间的距离,然后将这些距离排序,分别计算出距离序列的均值,方差,峰度,偏度等信息。
步骤2,元目标收集,首先需要进行合适算法识别。合适算法识别过程需要在数据集上度量所有的候选算法,为了减少其他因素的影响,在数据集上评估候选算法时,采用十折交叉验证的方法。因为是在不均衡数据集上,不能只考虑AUC,还需要使用少数类的Recall以及分类算法在不均衡数据集上的运行时间。
步骤3,根据各个指标对候选算法进行排序,在收集完候选算法在不均衡数据集上的性能之后,需要根据AUC、少数类上的Recall以及运行时间对候选算法进行排序。在得到候选算法的最终排序序列后,还需要将元特征与元目标结合起来就构成了元数据集。
步骤4,推荐器的构建及新数据集合适算法推荐,本发明使用KNN进行算法推荐,因为KNN是一种懒惰学习,因此推荐器的构建和新数据集合适算法推荐同时进行,当有新数据集时,首先提取数据集的元特征,然后通过元特征计算出该数据集的k个近邻,然后将k个近邻的元目标(即候选算法的排序序列)进行整合,整合方法就是将对应候选算法的排名加在一起,然后再重新按照加和之后的结果进行排序。这样就得到了新数据集候选算法的排序序列。推荐的过程也就完成了。
本发明构建不均衡数据集上的算法推荐器的方法。该算法使用特征提取方法提取数据集的特征并对每一维特征分别进行标准化,从而得到数据集的元特征。然后使用AUC,Recall以及算法的运行时间来评估候选算法的性能。下面对本发明做详细说明。
算法推荐基于这样的假设,如果两个数据集提取出的特征是相似的,那么相同的分类算法在这两个数据集上的分类性能也应该相似。也即:如果一个算法在一个数据集上性能很好,那么该算法在和这个数据集类似的数据集上也能取得很好的效果。进一步推广,可表述为:如果一个算法在一组数据集上分类效果比较好,就可以将该算法推荐给所有和这组数据集中任何数据集相似的数据集。算法推荐主要分为三大部分,第一步是收集元数据收集,第二步是构建推荐模型,第三步是通过推荐模型给新数据集推荐合适的分类算法。本发明提出的基于排序的不均衡学习算法推荐方法的基本流程如附图1所示。
1.元特征收集。
元特征是从数据集中提取出来的特征集合,并可以用来代替原始的数据集。在是算法推荐领域,一般而言对于不同的数据集,应该对应不同的元特征,其次,元特征应该便于计算,最后,元特征应该和分类算法的性能密切相关。特征提取是一项非常具有挑战性的工作,目前已经提出了许多特征提取方法。
本方法使用基于距离度量的特征,该特征反映了数据集中实例之间的关系。这种特征提取方法通过计算数据集中两两实例之间的距离,然后将这些距离排序,分别计算出距离序列的均值,方差,峰度,偏度等信息。具体使用的特征如下表1所示。
表1基于距离度量的特征
其中Z-Score通过如下公式计算:
其中μ为距离向量的均值,σ为距离向量的标准差。Z-Score值被划分为 4个区间,[0,1),[1,2),[2,3),[3,∞)。
2.元目标收集
在元目标收集时,首先需要进行合适算法识别。合适算法识别过程需要在数据集上度量所有的候选算法,为了减少其他因素的影响,在数据集上评估候选算法时,采用十折交叉验证的方法。十折交叉验证是一种常用的测试方法。具体做法是将数据集分成十份,轮流将其中9份作为训练数据,1份作为测试数据,进行试验。这种方法的好处是不会受到随机因素的影响。本发明在进行合适算法识别时,通过十折交叉验证方法得到算法在数据集上的 AUC,Recall等指标。
在不均衡数据集上进行合适算法识别时不仅需要考虑算法在数据集上的 AUC,同时需要考虑少数类上的Recall,如果对时间要求比较高的话,还需要考虑分类算法在数据集上的运行时间。元目标可以选择单标签,即合适算法只有一个,也可以选择多标签,即元目标是合适算法的集合。还有一种,元目标是合适算法的序列,这种元目标保留了所有的候选算法,能够根据实际需要选择合适算法的数目。
本发明提出的不均衡算法推荐方法就是一种基于排序的推荐方法。与使用单标签和多标签不同的是,使用基于排序的推荐方法能够给出候选算法的排序。用户可以根据实际需要从候选算法序列中选择最合适的若干个算法。这种方法有效的解决了单标签和多标签存在的推荐的算法过少的问题。
不均衡学习算法推荐方法在进行元目标收集时,首先需要在所有数据集上收集候选算法的性能。因为是在不均衡数据集上,不能只考虑AUC,还需要使用少数类的Recall以及分类算法在不均衡数据集上的运行时间。本发明提出的算法是基于排序的,因此应该根据各个指标对候选算法进行排序。在收集完候选算法在不均衡数据集上的性能之后。需要根据AUC、少数类上的 Recall以及运行时间对候选算法进行排序。假设候选算法分别为{Alg1,Alg2,Alg3,...,Algm}共m个,然后在AUC上按照从大到小排序,得到的各个候选算法的对应次序为{a1,a2,a3,...,am};在少数类Recall上,按照从大到小排序,得到的各个候选算法对应次序为{b1,b2,b3,...,bm};在运行时间上,按照从大到小排序,得到的各个候选算法对应次序为{c1,c2,c3,...,cm}。此处分类算法的运行时间也按照从大到小排序的原因是:在后面进行序列融合时,需要减去时间序列的得分。耗时越长,对应的次序越小,对应的得分越大,最后减掉的就越多。
其中,AUC代表ROC曲线下面积。根据学习器的预测结果对样例进行排序,按此顺序逐个把样本作为正例进行预测,每次计算出两个重要量的值,分别以它们为横、纵坐标作图,就得到了“ROC”曲线,ROC曲线的x轴是伪阳性率(false positive rate),y轴是真阳性率(true positive rate)。具体如下表所示:
表 混淆矩阵
则伪阳性率(FPR)和真阳性率(TPR)计算公式如下:
假定ROC曲线是由坐标为{(x1,y1),(x2,y2),….,(xm,ym)}的点按序连接而形成,则AUC可估算为:
召回率Recall表示的是样本中的正例有多少被预测正确,其计算公式为:
在得到候选算法在各个指标之上的排序序列之后就需要将这三个序列融合起来。因为各个指标在分类中所起的作用不同因此就有不同的系数。在这三个指标中分类器运行时间当然越短越好,因此在进行序列融合时需要减去时间序列的得分。将这三个序列融合时,首先需要给每个次序一个得分,一般排的越靠前得分越高。对于算法Algi,其对应的AUC的次序为ai,Recall 的次序为bi,运行时间的排序为ci,通过查找得分与排名的对照表(见表2 序列次序与得分映射表),分别得到每个次序对应的得分m1,m2,m3。然后需要将这三个得分加权求和,其计算方法如下:
αm1+βm2-γm3
三个系数分别体现不同指标的重要性,考虑到AUC和Recall在评估不均衡学习算法时反映了分类器的不同方面,其在评价不均衡分类器时起到相同的作用。因此令α=β=1。γ的取值也会影响到推荐性能,因此在实验部分研究了γ的取值对推荐结果的影响。依据上面的方法就可以得到所有候选算法的加权得分。得到加权得分后,就需要将最后的得分进行排序,从而得到候选算法最终的排序序列。
表2为序列次序与得分映射表
在得到候选算法的最终排序序列后,还需要将元特征与元目标结合起来就构成了元数据集。元数据的每一条记录就是对一个数据集进行特征提取和元目标收集得到的结果。构建完元数据之后,就可以在元数据集上构建推荐器。
3.推荐器的构建及新数据集合适算法推荐
元数据收集好之后就需要在元数据集上构建推荐器,其实本质也是一个分类器。本发明算法所使用的方法是KNN。因为KNN是一种懒惰学习,因此推荐器的构建和新数据集合适算法推荐同时进行。当有新数据集时,首先提取数据集的元特征,然后通过元特征计算出该数据集的k个近邻,然后将k个近邻的元目标(即候选算法的排序序列)进行整合,整合方法就是将对应候选算法的排名加在一起,然后再重新按照加和之后的结果进行排序。这样就得到了新数据集候选算法的排序序列。推荐的过程也就完成了。
在使用KNN进行算法推荐时,首先需要计算两个数据集之间的距离,本发明采用欧式距离,假设两个数据集D1和D2,从数据集D1中提取出的特征向量为{F11,F12,F13,…,F1t},从数据集D2中提取出的特征为 {F21,F22,F23,…,F2t},其中t为特征的维数。在计算两个数据集之前,首先需要将两个特征向量分别标准化,这样计算出来的距离才有实际意义。标准化的方法很多,常用的有min-max标准化和Z-score标准化这两种。本发明在标准化的时候采用min-max标准化。也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0-1]之间。这种方法的优点是对原始数据的等比例缩放,这种方法适用于量纲相同时的标准化,而本发明标准化时,只对同一维的特征进行标准化,它们具有相同的量纲,因此可以使用min-max标准化。转换函数如下:
式中:min——当前特征取值的最小值;max——当前特征取值的最大值。
将元数据集中的每一维的元特征分别进行归一化,归一化之后得到数据集D1的特征为{F′11,F'12,...,F′1t},数据集D2的特征为{F′21,F'22,...,F′2t}。归一化之后,计算两个数据集之间的距离才有实际意义。
标准化完成后需要使用标准化之后的特征向量计算两个数据集之间的距离。本发明采用欧式距离反映两个数据集之间的距离。具体计算公式如下:
式中:F′1i——为数据集D1的第i个特征标准化后的值;F′2i——为数据集D2的第i个特征标准化后的值。
当给新数据集推荐合适算法时,首先需要进行特征提取,获取新数据集的特征。然后对得到的特征进行标准化,然后分别计算新的特征向量和所有历史数据集特征向量之间的欧式距离,然后将其按照从小到大的次序排列,并截取前K个。假设得到的K个近邻的类标签分别为:{a11,a12,...,a1t}, {a21,a22,...,a2t},…,{ak1,ak2,...,akt}。其中aij表示第i个近邻的第j个算法的次序。得到K个近邻的类标签后,需要将这K个近邻的类标签进行加和。计算方法如下:
通过上式可以计算出每个候选算法的得分。然后需要再将各个候选算法的得分进行排序,此时ai越小,则排序越靠前。这样就得到了新数据集的候选算法排序序列。
以上实施步骤总结为如图2所示的针对不均衡数据的算法推荐方法伪代码。
为了详细介绍推荐器构建以及新数据集合适算法推荐的过程,本发明通过一个例子来介绍。
实施例
假设候选算法有三个,分别为a、b、c。从数据集中提取出来的特征有4 个,并且经过在历史数据集上进行特征提取和性能评估,分别得到数据集的特征向量和候选算法排序序列如下表3所示:
表3历史数据集收集到的元特征及元目标
假设新数据集D5提取到的特征向量为:(0.3,0.4,0.5,0.1),分别计算新数据集的特征向量与历史数据集的欧式距离,distance(D5,D1)=0.762, distance(D5,D2)=0.86,distance(D5,D3)=0.54,distance(D5,D4)=0.61。如果K 取2,即只选择D5的两个近邻,显然是D3和D4。然后将D3和D4的候选算法序列进行加和,得到(3,5,4)。按照从小到大对其进行排序,得到新数据集上候选算法的序列为:(1,3,2)。这样就完成了对新数据的算法推荐。
为了研究不同的特征提取方法对算法推荐的影响,分别使用6种特征提取方法,通过在52个数据集上进行实验验证,其中27个keel数据集,8个软件缺陷数据集,17个UCI数据集。并分别对比使用各种特征提取方法,得到结果下表4所示。
表4基于序列融合的推荐方法中各种特征提取方法比较
其中,Spearman序列相关系数,用来衡量算法推荐的结果,和实际的候选算法排名之间的一致性。计算方法见:
式中,rri和iri分别代表候选算法i的推荐排名和实际排名,m是候选算法的个数。rs的取值范围为[-1,1]。rs越大,推荐排名和实际排名越相关。当推荐排名和实际排名完全相同时,rs=1;当它们不完全吻合时rs<=1;当rs=0 时,推荐排名与实际排名不相关。当rs=-1时,推荐排名和实际排名完全相反。
从表中可以看出,基于排序的算法推荐方法在使用不同特征提取方法时,平均Spearman系数差距比较大,时间参数取不同值时,对结果的影响也比较大,本发明使用的基于距离的特征提取方法相比于其他特征提取方法并没有明显差距,基于距离的特征相比于其他特征更加简单,只需要计算数据集中实例之间的欧式距离即可。实验结果表明使用基于距离的特征提取方法与其他特征提取方法一样有效。从实验结果看出特征提取方法使用ItemSetBased 比其他特征提取方法推荐的结果和实际序列的一致性更高。
反映推荐效果好坏的指标除了序列相关性之外,还需要使用命中率来验证推荐的有效性。Spearman相关系数只能反映出实际序列和推荐序列之间是否正相关,但无法体现推荐的结果是否是真正合适的算法。而命中率则能反映推荐的结果与实际合适算法之间的差距。因此,除了比较推荐序列和实际序列之间的正向相关性外,本发明还就不同的特征在不同的合适算法个数的情况下得到的命中率进行比较,得到的结果如下表截取不同合适算法数目时不同特征提取方法得到的命中率对比所示。
表5截取不同合适算法数目时不同特征提取方法得到的命中率对比
从表5中可以看出当选择的合适算法在3个以上时,就能取得很好的效果。而当选择推荐序列的前4个算法时,使用许多特征提取方法,其命中率已经可以达到1;如果选择推荐序列的前三个算法,其命中率已经能够超过90%。因为候选算法总数是18个,在选择排在前四的算法就基本能够给数据集找到合适的分类算法。这也说明了使用这种推荐方法确实是有效的。
本发明提出的不均衡学习算法推荐方法,涉及到的待定参数主要有两个,一个是使用KNN时需要确定K值,另一个是时间序列的系数。时间序列系数在上文中已经分别研究其取0.01,0.1,0.5等值对实验结果的影响。从实验结果可知在其取值为0.1时,能够取得最佳值。因此,下面研究不同的K 值对实验结果的影响。KNN算法根据K最近邻确定最终的推荐结果。因此K 值得选择会影响到推荐的准确度。为了寻找最合适的K值,就需要通过实验来寻找最佳的K值。通过对K取不同的值进行实验。
从图3中可以看出,不同的特征提取方法在算法推荐时,效果差别很大。在开始时,随着K值得增大,Spearman相关系数会逐渐增大,然后趋于平稳。可以看出在K>9时,在大部分特征上Spearman取值基本平稳。这说明在取近邻时,如果选取过少的话,就会给推荐结果带来随机性,当K选的足够大时,求得的近邻受随机因素影响较小,此时推荐的候选算法序列和实际的候选算法序列更加相符。
从图4中可以看出,命中率也是随着k值的增大逐渐增大,并最终趋于平稳。K值不同时,得到的命中率往往也不同。在K取1到13上取值时,可以看到在K>10时,各个指标上的命中率基本平稳。故本发明中的实验采用的是K=11。同时,不管K取何值时,都是在特征提取方法选择基于复杂度的特征提取方法。
总之,本发明提供了构建不均衡数据集上的算法推荐器的方法。该算法使用特征提取方法提取数据集的特征并对每一维特征分别进行标准化,从而得到数据集的元特征。然后使用AUC,Recall以及算法的运行时间来评估候选算法的性能。在收集元目标时,首先使用十折交叉验证方法获取候选算法在不均衡数据集上的性能指标,然后通过AUC,Recall,以及运行时间分别对候选算法排序,并使用得分的方法将三个候选算法序列进行融合,最终得到元目标,即候选算法的排序序列。在给新数据集推荐算法时,通过特征提取方法获取新数据集的特征向量,使用标准化方法,对新数据集的特征向量进行标准化。然后使用KNN方法获取新数据集的K个近邻的候选算法序列,通过将这K个邻居的候选算法序列加和并重新排序,就得到了新数据集的候选算法序列。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,对于本发明所属技术领域的普通技术人员来说,在不隔离本发明构思的前提下,还可以做出若干简单的推演或替换,都应当视为属于本发明由所提交的权利要求书确定专利保护范围。
Claims (8)
1.一种针对不均衡数据的算法推荐方法,其特征在于:包括以下步骤:
步骤1,元特征收集:
使用基于距离度量的特征,通过计算数据集中两两实例之间的距离,然后将这些距离排序,分别计算出距离序列的特征集合,用于反映了数据集中实例之间的关系;
步骤2,元目标收集:
首先需要进行合适算法识别,在数据集上度量所有的候选算法,采用十折交叉验证的方法;
步骤3,根据各个指标对候选算法进行排序:
在收集完候选算法在不均衡数据集上的性能之后,需要对候选算法进行排序;在得到候选算法的最终排序序列后,还需要将元特征与元目标结合起来构成了元数据集;
步骤4,推荐器的构建及新数据集合适算法推荐:
使用KNN进行算法推荐,KNN推荐器的构建和新数据集合适算法推荐同时进行,当有新数据集时,首先提取数据集的元特征,然后通过元特征计算出该数据集的k个近邻,然后将k个近邻的元目标进行整合,整合方法就是将对应候选算法的排名加在一起,然后再重新按照加和之后的结果进行排序;即得到新数据集候选算法的排序序列,推荐过程完成。
2.根据权利要求1所述的一种针对不均衡数据的算法推荐方法,其特征在于:步骤1中,距离序列的特征集合包括距离序列的均均值、方差、标准差、峰度、偏度、归一化后的频率和Z-Score的频率。
3.根据权利要求1所述的一种针对不均衡数据的算法推荐方法,其特征在于:步骤2中,十折交叉验证是将数据集分成十份,轮流将其中9份作为训练数据,1份作为测试数据,进行试验;在进行合适算法识别时,通过十折交叉验证方法得到算法在数据集上的AUC、Recall。
4.根据权利要求1所述的一种针对不均衡数据的算法推荐方法,其特征在于:步骤3的具体步骤为:
不均衡学习算法推荐方法在进行元目标收集时,首先需要在所有数据集上收集候选算法的性能,根据各个指标对候选算法进行排序;在收集完候选算法在不均衡数据集上的性能之后,需要根据AUC、少数类上的Recall以及运行时间对候选算法进行排序;假设候选算法分别为{Alg1,Alg2,Alg3,...,Algm}共m个,然后在AUC上按照从大到小排序,得到的各个候选算法的对应次序为{a1,a2,a3,...,am};在少数类Recall上,按照从大到小排序,得到的各个候选算法对应次序为{b1,b2,b3,...,bm};在运行时间上,按照从大到小排序,得到的各个候选算法对应次序为{c1,c2,c3,...,cm};
在得到候选算法在各个指标之上的排序序列之后就需要将这三个序列融合起来;将这三个序列融合时,首先需要给每个次序一个得分,一般排的越靠前得分越高;对于算法Algi,其对应的AUC的次序为ai,Recall的次序为bi,运行时间的排序为ci,通过查找得分与排名,分别得到每个次序对应的得分m1,m2,m3;然后需要将这三个得分加权求和,其计算方法如下:
αm1+βm2-γm3
α、β、γ三个系数分别体现不同指标的重要性,考虑到AUC和Recall在评估不均衡学习算法时反映了分类器的不同方面,其在评价不均衡分类器时起到相同的作用,令α=β=1;γ的取值也会影响到推荐性能,依据上面的方法得到所有候选算法的加权得分;得到加权得分后,就需要将最后的得分进行排序,从而得到候选算法最终的排序序列;
在得到候选算法的最终排序序列后,还需要将元特征与元目标结合起来就构成了元数据集;元数据的每一条记录就是对一个数据集进行特征提取和元目标收集得到的结果;构建完元数据之后,在元数据集上构建推荐器。
5.根据权利要求1所述的一种针对不均衡数据的算法推荐方法,其特征在于:步骤4中:
当给新数据集推荐合适算法时,首先需要进行特征提取,获取新数据集的特征;然后对得到的特征进行标准化,然后分别计算新的特征向量和所有历史数据集特征向量之间的欧式距离,然后将其按照从小到大的次序排列,并截取前K个;假设得到的K个近邻的类标签分别为:{a11,a12,...,a1t},{a21,a22,...,a2t},…,{ak1,ak2,...,akt};其中aij表示第i个近邻的第j个算法的次序;得到K个近邻的类标签后,需要将这K个近邻的类标签进行加和;计算方法如下:
通过上式可以计算出每个候选算法的得分;然后需要再将各个候选算法的得分进行排序,此时ai越小,则排序越靠前;这样就得到了新数据集的候选算法排序序列。
6.根据权利要求5所述的一种针对不均衡数据的算法推荐方法,其特征在于:获取新数据集的特征具体步骤为:
在使用KNN进行算法推荐时,首先需要计算两个数据集之间的距离,采用欧式距离,假设两个数据集D1和D2,从数据集D1中提取出的特征向量为{F11,F12,F13,…,F1t},从数据集D2中提取出的特征为{F21,F22,F23,…,F2t},其中t为特征的维数。
7.根据权利要求5所述的一种针对不均衡数据的算法推荐方法,其特征在于:对得到的特征进行标准化具体步骤为:
使用min-max标准化,转换函数如下:
式中:min——当前特征取值的最小值;max——当前特征取值的最大值;
x——当前特征取值;
将元数据集中的每一维的元特征分别进行归一化,归一化之后得到数据集D1的特征为{F'11,F'12,...,F'1t},数据集D2的特征为{F'21,F'22,...,F'2t}。
8.根据权利要求5所述的一种针对不均衡数据的算法推荐方法,其特征在于:欧式距离计算具体步骤为:
标准化完成后需要使用标准化之后的特征向量计算两个数据集之间的距离;采用欧式距离反映两个数据集之间的距离;具体计算公式如下:
式中:F1i'——为数据集D1的第i个特征标准化后的值;F2i'——为数据集D2的第i个特征标准化后的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910013382.4A CN109784395A (zh) | 2019-01-07 | 2019-01-07 | 一种针对不均衡数据的算法推荐方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910013382.4A CN109784395A (zh) | 2019-01-07 | 2019-01-07 | 一种针对不均衡数据的算法推荐方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109784395A true CN109784395A (zh) | 2019-05-21 |
Family
ID=66499231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910013382.4A Pending CN109784395A (zh) | 2019-01-07 | 2019-01-07 | 一种针对不均衡数据的算法推荐方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109784395A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704635A (zh) * | 2021-07-30 | 2021-11-26 | 西安交通大学 | 一种社交网络事件推荐方法及系统 |
WO2024131499A1 (zh) * | 2022-12-22 | 2024-06-27 | 华为云计算技术有限公司 | 一种数据分析系统、方法以及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104318242A (zh) * | 2014-10-08 | 2015-01-28 | 中国人民解放军空军工程大学 | 一种高效的svm主动半监督学习算法 |
CN106326367A (zh) * | 2016-08-11 | 2017-01-11 | 华南师范大学 | 基于wnbi和rsvd混合协同推荐算法 |
-
2019
- 2019-01-07 CN CN201910013382.4A patent/CN109784395A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104318242A (zh) * | 2014-10-08 | 2015-01-28 | 中国人民解放军空军工程大学 | 一种高效的svm主动半监督学习算法 |
CN106326367A (zh) * | 2016-08-11 | 2017-01-11 | 华南师范大学 | 基于wnbi和rsvd混合协同推荐算法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113704635A (zh) * | 2021-07-30 | 2021-11-26 | 西安交通大学 | 一种社交网络事件推荐方法及系统 |
CN113704635B (zh) * | 2021-07-30 | 2024-05-24 | 西安交通大学 | 一种社交网络事件推荐方法及系统 |
WO2024131499A1 (zh) * | 2022-12-22 | 2024-06-27 | 华为云计算技术有限公司 | 一种数据分析系统、方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6632193B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN111915437B (zh) | 基于rnn的反洗钱模型的训练方法、装置、设备及介质 | |
CN111126482B (zh) | 一种基于多分类器级联模型的遥感影像自动分类方法 | |
CN101419671B (zh) | 基于模糊支持向量机的人脸性别识别方法 | |
WO2020199345A1 (zh) | 一种基于GitHub的半监督异构软件缺陷预测算法 | |
CN109783879B (zh) | 一种雷达辐射源信号识别效能评估方法及系统 | |
CN111553127A (zh) | 一种多标记的文本类数据特征选择方法及装置 | |
CN109165540A (zh) | 一种基于先验候选框选择策略的行人搜索方法和装置 | |
CN103714148B (zh) | 基于稀疏编码分类的sar图像检索方法 | |
CN110717534A (zh) | 一种基于网络监督的目标分类和定位方法 | |
CN104615894A (zh) | 一种基于k近邻标签特定权重特征的中医诊断方法及系统 | |
CN110210625A (zh) | 基于迁移学习的建模方法、装置、计算机设备和存储介质 | |
CN109934420A (zh) | 一种预测员工离职的方法及系统 | |
CN109255029A (zh) | 一种采用加权优化训练集增强自动Bug报告分配的方法 | |
CN113313149B (zh) | 一种基于注意力机制和度量学习的菜品识别方法 | |
CN110874576B (zh) | 一种基于典型相关分析融合特征的行人再识别方法 | |
CN111338950A (zh) | 一种基于谱聚类的软件缺陷特征选择方法 | |
CN114119585B (zh) | 基于Transformer的关键特征增强胃癌图像识别方法 | |
CN109784395A (zh) | 一种针对不均衡数据的算法推荐方法 | |
CN115271442A (zh) | 基于自然语言评估企业成长性的建模方法及系统 | |
CN118312816A (zh) | 基于成员选择的簇加权聚类集成医学数据处理方法及系统 | |
CN114511759A (zh) | 一种皮肤状态图像的类别识别和特征确定方法及系统 | |
CN107944340B (zh) | 一种结合直接度量和间接度量的行人再识别方法 | |
Sharma et al. | Enhancing wheat crop resilience: An efficient deep learning framework for the detection and classification of rust disease | |
CN108804581A (zh) | 一种基于深度学习的同类物体检索方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190521 |