曲文龙 李一漪 陈笑屹 曲嘉一
摘要:针对现有的动态选择策略局限于寻找待测样本的局部相似样本,未充分考虑样本特征之间的重要性程度,从而对预测精度造成影响的问题,该文提出一种基于近邻样本评估的动态选择性集成预测算法。算法基于误差扰动度量出特征的重要性权值,并在此基础上进行样本近邻的相似性度量。根据不同的待测样本特点自动适应近邻数目,找到最佳近邻。通过最佳近邻对具有不同预测精度的学习器的性能评估,择优筛选出精度较高的学习器进行选择性集成预测。实验结果表明,相比原有集成学习算法和普通选择性集成算法,该算法预测精度得到进一步提升,表现出良好的预测效果和较强的预测性能。
关键词:动态选择性集成;回归预测;近邻样本;相似度量
中图分类号:TP181
DOI:10.16152/j.cnki.xdxbzr.2020-05-014
A dynamic selective ensemble prediction algorithm basedon evaluation of neighborhood sample
QU Wenlong1,LI Yiyi1,CHEN Xiaoyi1,QU Jiayi2
(1.School of Information Engineering, Hebei GEO University, Shijiazhuang 050031, China;
2.School of Science, Hebei University of Science and Technology, Shijiazhuang 050018, China)
Abstract: Aiming at the problem that the existing dynamic selection strategy is limited to finding locally similar samples of the test sample and does not fully consider the importance of the sample features, thus affecting the prediction accuracy, a dynamic selective ensemble prediction algorithm based on evaluation of neighborhood sample is proposed. Based on the importance weight of the feature measured by the error perturbation, the similarity of neighborhood sample is measured. According to the characteristics of different samples to be measured, the number of nearest neighbor is automatically adapted to find the best nearest neighbor. By evaluating the performance of learners with different prediction accuracy, the learner subset with high accuracy is selected for selective ensemble prediction. The experimental results show that, compared with the original ensemble learning algorithm and the common selective ensemble algorithm, the prediction accuracy of this algorithm is further improved, showing that it has good effect of prediction and strong performance.
Key words: dynamic selective ensemble; regression prediction; nearest neighbor sample; similarity measure
回歸预测是根据自变量和因变量之间的相关关系进行建模预测的方法。集成学习是由Hansen和Salamon提出的一种将互为差异性的基模型使用某种策略组成起来,整合为一个更强大模型的方法[1]。其目的是训练出一个稳定且可靠的强学习器,以获得比单一学习器更好的泛化性能。目前,集成学习在许多领域都有了广泛应用,在数据预测方面也有所涉及[2-3]。然而在集成的过程中,容易引入一些预测精度低,性能不佳的基模型而影响最终模型的泛化能力,还会大大增加所需的存储空间。
2002年,南京大学周志华等人首次提出了选择性集成(selective ensemble),它基于一定的评估标准将作用不大的基学习器抛弃,只保留部分表现较好的作为最终集合器来构建集成模型。通过实验验证和理论分析,选择性集成的预测效果明显优于传统集成方法[4]。2011年,张春霞等人从不同的评价准则角度详细综述了选择性集成算法,总结了对于分类和回归的相应研究[5]。早期的选择性集成通常使用静态选择策略,对所有待测样本均同等对待,导致筛选出的学习器不一定为最优集合。
针对上述问题,相关学者开始了对动态选择策略的研究[6]。动态选择策略考虑到每个样本存在的差异性,根据样本的不同特点,动态挑选最适合待测样本的基学习器进行预测,其优势在于利用更加灵活的方式减少学习器之间的冗余[7-8]。它的主要策略有KNORA(K-nearest-oracles),DCES(dynamic classifier ensemble selection)等[9],并已应用在很多方面,例如人工排水区域预测[10]、客户流失预测[11]等。Oliveira等人以边缘平衡作为切入点改进了KNORA,提出了KNORA-B和KNORA-BI技术用于提高分类器的性能[12]。Luca Didaci等人利用合适的距离度量来定义邻域,并通过邻域大小的自适应来估计局部分类器的精度进行动态集成[13]。为了减弱噪声对学习器动态选择的影响,Cruz Rafael提出一种增强的FIRE-DES++方法[14]。目前关于动态选择策略的研究主要集中在寻找待测样本的局部相似样本,通常采用欧氏距离作为近邻相似度的定义,而未充分考虑样本特征的重要性。鉴于此,本文引入特征重要度进行近邻样本的相似性度量,根据最佳近邻对各学习器的预测性能评估进行选择性集成。
综上所述,本文提出一种基于近邻样本评估的动态选择性集成预测算法DSERP-KNN(dynamic selective ensemble regression prediction approach based on K-nearest neighbors),该算法首先基于误差扰动的方式度量出特征权值,并将其作为权重引入到样本近邻的相似性度量中;然后根据每个待测样本的特点自适应近邻数目,寻找其最佳近邻样本并评估各学习器的预测性能。最后在所有基学习器中择优挑选出精度较高的学习器,进行选择性集成预测。相比于原有集成学习算法和普通选择性集成算法,该算法考虑了样本的特征重要度,有效提高了预测精度,加强了预测性能。
1 相关理论
1.1 集成学习
集成学习是一种通过结合多个较弱学习器来构建一个强学习器的方法,主要分为Boosting,Bagging以及Stacking[15]。其中,由Brieman提出的随机森林(random forest,RF)是Bagging的代表算法,适用于解决回归和分类问题[16]。它是由多棵没有剪枝的决策树组成,对于每棵树均利用自助法重采样技术,有放回地从原始数据中抽取样本组成训练集,建立决策树,并最终全部集成来构建出一个“森林”。它的随机性体现在采样和特征选择均随机,因此,可以降低模型过拟合的风险[17]。
尽管不易产生过拟合问题,但由于有放回地采样,使得约1/3的样本在抽取过程中始终未被取到,而剩下的样本中有些会被多次抽取,因此,参与每棵决策树的训练集只包含原始数据的2/3。这些未被抽取到的样本称为袋外数据(out of bag data,OOB),它是产生泛化误差的主要原因[18-19]。
随机森林算法的优势体现在它将多个弱学习器进行全集成,使得总体性能得到最大发挥,且树与树之间相互独立,所以易于并行化的方法来加快训练速度。当处于异常值较多的情况下随机森林算法依然能够保持较高的精度。然而,随机森林中含有决策树的棵树、树的深度以及节点分裂时的特征个数等大量超参数,它们会对算法性能产生较大影响,因此,关于超参数的取值是它的研究难点。
1.2 选择性集成
原有集成学习是将创建的所有弱学习器融合得到一个强学习器的过程。尽管它避免了早期机器学习单一的问题,但是在学习过程中会大大增加计算复杂度,并且無法差别对待不同的学习器。为了改善这一问题,选择性集成在前者基础上增加了学习器的筛选阶段,通过对影响模型整体预测效果的学习器进行剪枝,只集成最具代表性的部分学习器,来提高模型性能。由于学习器个数的减少,不仅可以提高模型预测效果,整体预测速度也优于全部集成。
对于现有的选择性集成算法,它们的区别主要在于评测方法的不同。评测方法是一种选择策略,选择性集成是基于某种选择策略来完成筛选过程。这些方法可以分为以下4类:基于聚类的方法、基于排序的方法、基于优化的方法以及基于选择的方法[5]。其中,基于选择的方法又分为静态选择和动态选择,静态选择法的主要思想为对待任意一个待测样本均根据已筛选好的学习器集合来进行预测。动态选择法是本文的研究重点,它是根据不同待测样本的特点,从已有基学习器中动态挑选学习器进行预测,每个待测样本对应的学习器集合一般是不同的[20]。选择性集成预测算法的具体过程在算法1中给出。
算法1 选择性集成预测算法
输入: 训练集Xtrain,测试集Xtest,基学习器个数T,评测方法M
输出: 筛选出的学习器集合Tt
Step 1 初始化T=Φ
Step 2 for t=1 to T do
Step 2.1 采用抽样方法从训练集Xtrain中抽取样本数据得到新的训练集X′train
Step 2.2 训练X′train得到基学习器,并将其加入到基学习器集合T中得到T={T1,T2,…,Tt}
Step 3 end for
Step 4 在测试集Xtest上对每个基学习器进行预测误差测试,得到Err′
Step 5 根据得到的Err′利用评测方法M评价基学习器集合T中的每个子集,筛选出符合条件的学习器集合Tt
Step 6 采用结合策略集成学习器集合Tt,构建选择性集成预测模型
2 基于近邻的动态选择性集成算法DSERP-KNN
本文利用选择性集成具有更好的泛化能力和更低的预测开销等优势,提出一种基于近邻的动态选择性集成预测算法DSERP-KNN。该算法在传统动态选择策略的基础上,考虑了样本特征的重要性对预测结果的影响,引入特征重要度作为近邻的相似性度量,以此找到待测样本的最佳近邻。通过近邻样本对不同学习器的性能评估进行选择性集成,可以有效提高预测精度。
2.1 基于误差扰动的特征权值度量
特征权值度量是指样本特征之间的权值重要性度量,它是样本中所有特征重要程度的体现。依据自助法重采样会产生1/3始终未被抽取到的样本数据的特点,通过计算这些数据的误差可以得到相应特征的重要性权值度量,即加入轻微干扰后的精度与加入干扰前精度的平均减少量[21]。基于误差扰动的特征权值度量算法的基本原理为若给某个特征引入噪声干扰后导致误差大幅增加,则说明该特征对于预测结果影响较大,重要程度较高,因此需保留。反之误差若无明显变化则说明该特征重要程度较低可考虑剔除。因此,算法首先要使用自助法重采样抽取到样本集,然后标记始终未抽取到的样本并计算误差,之后加入噪声干扰并再次计算误差,最后利用两次的误差结果计算出特征的权值度量。基于误差扰动的特征权值度量算法的详细过程见算法2。
算法2 基于误差扰动的特征权值度量算法
输入: 自助重采样到的样本s=1,2,…,S(S为样本个数)
输出: 特征Xi的权值度量
Step 1 选择样本数据s=1,2,…,S作为样本集S
Step 2 在样本集S上创建决策树Ts,并将始终未被取到的数据标记为Ls
Step 3 对于每颗决策树Ts,选择相应Ls计算误差,记作Err1
Step 4 随机对Ls数据中的所有样本的特征Xi,i=1,2,…,N(N为未被抽取到的数据总个数)加入噪声扰动,再次计算误差,记作Err2
Step 5 计算特征Xi的权值度量,
=1T∑(Err2-Err1)。(1)
2.2 样本近邻相似度量
2.2.1 主成分分析 主成分分析(principal component analysis,PCA)是一种以较少的特征为代表对样本进行描述来降低维度的方法[22]。它的原理是将一个高维向量Xm×n通过一个特殊矩阵投影到低维空间中,最大限度地保留原始高维向量所包含的信息。它的主要方法为通过对协方差特征分解来提取主成分。
PCA的具体计算步骤分为4步[23]。首先,求出样本均值,
=∑ni=1in。(2)
然后,计算Xm×n的协方差矩阵Q,
Q=∑mi=1(xi-m)(xi-m)T。 (3)
接着,计算协方差矩阵Q的特征值λ和特征向量μ,并将特征值从小到大进行排序,
λ=(λ1,λ2,…,λn),λ1≥λ2≥…≥λn,(4)
μ=(μ1,μ2,…,μn)。(5)
最后,计算特征向量在每一维上的投影矩阵αik,该投影矩阵则为该样本空间的主成分。
αik=μkT(xi-m)。(6)
2.2.2 特征重要度加权相似度量 K近邻算法(K-nearest neighbor,KNN)是一种经典的懒惰型学习,它省略了训练过程,因此具有精度高,对异常值不敏感等优势,目前在分类、回归等问题中有较为成熟的应用[24]。其算法原理为基于某种相似性度量找出训练集中与给定待测样本最接近的k个近邻样本,并根据近邻的信息做出预测[25]。当KNN算法用于回归预测时,它将k个近邻样本的预测结果的平均值作为最终结果。
特征空间中样本点之间的距离反映了其相似程度,而不同的相似度量方式會确定不同的近邻点,从而影响预测准确性。相似性度量可以通过样本间距离计算来实现,常用的距离度量方式有欧氏距离、马氏距离等。然而这些传统的距离度量往往存在对样本的不同特征之间的差别等同对待的问题,并且传统的空间变换方法如PCA、线性判别分析(LDA)也会忽视贡献率小但含有样本差异的重要信息的特征,从而产生不合理的相似性度量。为了筛选出对预测帮助最大的学习器集合,需要首先对样本间的相似性做出合理度量,寻找到一个合适的近邻,最终根据最佳近邻选择优秀的基学习器进行预测。本文以经典欧氏距离为基础,依据特征重要度计算特征对预测的贡献程度的权值,并赋予权重w,构建新的样本近邻相似度量函数,使其体现出相关特征的重要性。
n维空间中,样本点a(xa1,xa2,…,xan)与点b(xb1,xb2,…,xbn)间的欧氏距离公式如式(7)所示,
dab=
(xa1-xb1)2+(xa2-xb2)2+…+(xan-xbn)2=
∑nk=1(xak-xbk)2。(7)
将式(1)中的特征权值作为权重w引入式(7)中,根据特征重要性对k个近邻的贡献进行加权,定义基于特征重要度加权的近邻相似度量d′ab,
d′ab=
w1(xa1-xb1)2+w2(xa2-xb2)2+…+wn(xan-xbn)2=
∑nk=1wk(xak-xbk)2。(8)
其中,wk为权重,满足
∑nk=1wk=1。(9)
2.3 基于样本近邻预测精度评估的动态选择性集成预测
选择性集成较普通集成相比,具有预测精度高、算法性能强等优势,因此,为了从已生成的学习器集合中选择出最适合待测样本的子集,设计一种基于近邻的动态选择性集成算法进行预测。该算法基于之前定义好的近邻相似性度量,运用k的自适应得到待测样本的最佳近邻,并以此评估具有预测精度差异的各学习器性能,择优筛选出精度较高的学习器。通过近邻样本选中的学习器进行选择性集成预测,可以有效克服全集成产生的计算量过大的问题,并能针对待测样本的差异性动态选择其适合的基学习器,既可以提高预测精度,又可以满足预测性能的要求。
该算法的主要思想是利用样本近邻预测精度评估选择基学习器。首先,使用训练集Xtrain生成一定数量的CART树作为基学习器集合,之后依据引入特征权值后定义的样本近邻相似度量,对每个待测样本分别在k值的不同选取下寻找它的近邻样本,并对每个近邻样本均测试出所有CART树的预测误差集合;然后,对树的预测精度设定一个容忍度阈值θ,剔除预测误差小于θ的子CART树,筛选余下的预测性能较好的子CART树集合作为待测样本的CART树子集,并将选中的阈值范围内的CART树子集做并集,再使用学习法结合策略集成选出的子CART树进行选择性集成,并计算MSE;最后,比较k取不同值的预测精度评估情况,选择MSE最小的k值作为最佳近邻,并利用此近邻对应的集合学习器对待测样本进行预测,得到最终结果。基于样本近邻预测精度评估的动态选择性集成预测算法详细过程见算法3。
算法3 基于样本近邻预测精度评估的动态选择性集成预测算法
输入:训练集Xtrain,待测样本集Xpred,基学习器集合T={T1,T2,…,Tt},近邻K,容忍度阈值θ∈[0,1],基于特征重要度加权的样本近邻相似性度量d′ab
输出:最佳近邻k,待测样本的预测值集合Φ={yi}Xtesti=1
Step 1 利用训练集Xtrain生成基学习器集合T
Step 2 初始化近邻K
Step 3 k=K
Step 4 while k Step 4.1 在待測样本集Xpred上,针对待测样本点xi,利用d′ab寻找它的近邻样本集Xknn Step 4.2 初始化选择出的基学习器Tt Step 4.3 for T=T1 to Tt do Step 4.3.1 对每个近邻样本均测试出所有学习器的预测误差,记作mse′ Step 4.3.2 得到测试出预测精度的基学习器,记作Tmse Step 4.3.3 if mse′>θ,Tt=Tt∪Tmse Step 4.3.4 else break Step 4.4 end for Step 4.5 使用学习法结合策略集成选择出的基学习器Tt,并计算集合学习器的MSE Step 4.6 k=k+1 Step 5 end while Step 6 比较k取不同值的预测精度评估情况,选择使得MSE最小的最佳近邻k Step 7 利用最佳近邻k对应的集合学习器对待测样本集Xpred进行预测,得到预测值集合Φ Step 8 return k,Φ 3 实验结果与分析 为了验证DSERP-KNN算法的性能,本文选取6个具有代表性的UCI回归数据集进行实验,并将随机森林(random forest)、静态选择性集成算法、动态选择性集成算法作为对比方法。实验对每个数据集均采用十折交叉验证法来测试算法的准确性,将80%的数据集作为训练集,剩余20%作为测试集,重复10次实验过程,取其平均值作为最终结果。 3.1 实验环境与数据集 本文实验所用PC配置环境为Windows7 64位操作系统,Intel Core i7-3770HQ@3.40GHz CPU,8GB内存,编码环境为Python 3.5。所用到的UCI回归数据集为:Boston,Air Quality,Bike Sharing,Forest Fires,SkillCraft1,Wine Quality。其中,Bike Sharing选用的是每小时租赁的自行车数量数据集,Wine Quality选用的是白葡萄酒质量数据集。各个数据集的相关属性如表1所示。 3.2 评价指标 本文采用回归任务中常用的3个评价指标MSE,MAPE和R2来评估模型效果,它们的定义公式如下: 1)均方误差函数(MSE) MSE=1n∑ni=1(yi-i)2。(10) 2)平均绝对百分比误差函数(MAPE) MAPE=1n∑ni=1|yi-iyi|×100%。(11) 3)判定系数(R2) R2(y,i)=1-∑ni=1(yi-i)2∑ni=1(yi-i)2。(12) 其中:n表示样本个数;yi为真实值;yi为预测值;i表示真实值的均值。MSE和MAPE的值越小表明真实值与预测值的误差越小,模型预测越准确,R2的正常取值范围为[0,1],越趋于1,表明模型的拟合效果越好。 3.3 不同算法对预测精度的影响 通过与其他3个方法的预测精度对比分析实验,评价本文提出的DSERP-KNN算法。表2为DSERP-KNN算法与其他方法分别在6个数据集上R2值的对比结果,表3和表4为相应的MSE和MAPE值的对比结果。 实验中首先针对不同数据集样本特点训练生成T个基学习器,然后按照DSERP-KNN算法流程依次寻找到每个待测样本的前k个近邻样本,并在每个近邻样本上均测试各学习器的MSE值,选择在容忍度阈值范围内的学习器子集进行待测样本的选择性集成预测。为了进一步验证DSERP-KNN算法的有效性,将随机森林算法、静态选择法以及动态选择法作为对比算法进行实验分析。 从表2中可以明显地看出,随机森林算法在各数据集上的表现较差,而选择后的集成学习效果均要优于全集成学习。静态选择性集成在各数据集上的精度都要低于动态选择性集成,DSERP-KNN算法在各数据集上的结果均优于全集成学习算法和普通选择性集成算法,R2值均有所提高。其中,在Wine Quality数据集上的提升效果最佳,约为5.0%。 此外,根据表3和表4的实验结果表明,随机森林算法在各数据集上的表现基本处于较低水平,而DSERP-KNN算法的MSE和MAPE值最低,具有良好的预测效果。其中,Bike Sharing数据集与其余数据集MSE值相差较大是因为每个数据集之间的方差大小存在较大差异性,因此,导致MSE的值也相差较大。通过表2、表3和表4分析可知,引入样本近邻相似度量后的动态选择性集成算法能够有效提高预测精度。 3.4 不同近邻数目k对预测精度的影响 由于本文所提出的DSERP-KNN算法性能与k值的选择密切相关,k值的变化会影响算法的预测效果。因此,本文详细分析了在不同数据集上不同近邻数目k对预测精度的影响,如图1所示。 根据样本数量及特征的不同,近邻的范围为1~40。通过具体分析可知,图1(a),1(c),1(e)中近邻k对MSE的影响波动总体较小,在达到MSE最小值之前曲线呈稳步下降趋势,说明此时较少的近邻样本无法满足预测的需要。随着k取值的增大,DSERP-KNN算法精度迅速提高,分别在k=6,k=18以及k=11时,MSE达到最低值,此时预测效果最佳。当算法找到最佳近邻后MSE值持续上升,说明近邻样本数目达到一定的值之后,再加入的近邻会对算法预测性能造成干扰。因此,对于Boston,Bike Sharing和SkillCraft1数据集,k=6,k=18和k=11分别为它们的最佳近邻。图1(b),1(d),1(f)中,近邻k对MSE的影响波动总体较大,在达到MSE最小值之前,曲线基本处于波动式下降趋势,然后分别在k=13,k=7和k=7时MSE降到最低。之后图1(b)基本呈现平稳上升,仅在k=23以后有一个短暂的波动。然而图1(d)和1(f)的MSE值均出现较大波动,这可能是因为随着近邻数目的上升引入了一些无关近邻,从而影响到了算法的预测效果。因此,对于Air Quality,Forest Fires和Wine Quality数据集,它们的最佳近邻分别为k=13, k=7以及k=7。图1中的实验结果在一定程度上说明了针对不同特点的数据集,合适的近邻数目k是通过自适应来选择的。 3.5 不同近邻相似度量对预测精度的影响 为了验证本文算法中的相似度量方法的有效性,即基于特征重要度加权的相似度量(记作w-similarity measure),将欧氏距离度量(euclidean distance)、PCA度量作为对比方法,在各数据集上进行预测精度实验分析。为了更加直观地看出模型效果,采用R2作为评价指标,结果如图2所示。 由图2可以看到,欧式距离的表现有所欠缺,基本处于较低水平,在SkillCraft1数据集和Wine Quality数据集上尤为明显。PCA度量对精度的影响要略优于欧式距离度量,说明维度的缩减可以降低数据复杂度,但也可能会损失掉有用信息。基于特征重要度加权的相似度量在6个数据集上的R2值均有小幅度提升,其中,Air Quality数据集的提升效果最为明显。这说明了该相似度量方法具有更好的针对性,能充分考虑样本特征的重要性程度,验证了本文所采用的相似度量方式是有效的。 综合以上3个实验可以看出,本文提出的DSERP-KNN算法在回归评价指标中均为最好,且达到了针对不同待测样本,根据其近邻样本对各学习器的预测精度评估来动态筛选学习器的目的。同时还验证了k的自适应性以及基于特征重要度加权的样本近邻相似度量方式的有效性,体现出算法具有较高的精度和较好的性能。 4 结 语 为了改善动态选择策略中未充分考虑样本特征的重要性,从而影响预测结果准确性的问题,提出了一种基于近邻的动态选择性集成预测算法。该算法基于特征重要度加权的样本近邻相似性度量,寻找待测样本的最佳近邻样本,并根据样本近邻对学习器的预测精度评估筛选基学习器,进行选择性集成预测。通过6个UCI数据集上的实验结果表明,该算法相较于原有集成学习和常规选择性集成,具有更好的预测效果和预测性能,这也为今后选择策略的研究提供了一种新的思路。 另外,研究过程中也发现,尽管算法提高了预测精度,但是运行效率不够理想,因此,下一阶段的研究目标是进一步优化基学习器的选择策略。 参考文献: [1] HANSEN L K, SALAMON P. Neural network ensembles[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 2002, 12(10):993-1001. [2] WANG T J, ZHANG Z W, JING X Y, et al. Multiple kernel ensemble learning for software defect prediction[J]. Automated Software Engineering, 2016, 23(4):569-590. [3] CHEN P, HU S S, ZHANG J, et al. A sequence-based dynamic ensemble learning system for protein ligand-binding site prediction[J].Transactions on Computational Biology and Bioinformatics, 2016, 13(5):901-912. [4] ZHOU Z H, WU J X, TANG W. Ensembling neural networks: Many could be better than all [J].Artificial Intelligence, 2002, 137(1):239-263. [5] 张春霞, 张讲社. 选择性集成学习算法综述 [J].计算机学报, 2011, 34(8):1399-1410. ZHANG C X,ZHANG J S. A survey of selective ensemble learning algorithms[J].Chinese Journal of Computers, 2011, 34(8):1399-1410. [6] ABRAHMS B, WELCH H, BRODIE S, et al. Dynamic ensemble models to predict distributions and anthropogenic risk exposure for highly mobile species[J]. Diversity and Distributions, 2019, 25(8):1182-1193. [7]MARKATOPOULOU F, TSOUMAKAS G, VLAHAVAS I.Dynamic ensemble pruning based on multi-label classification[J].Neurocomputing, 2015, 150:501-512. [8] MENG J, ZHANG J, LUAN Y S, et al. Parallel gene selection and dynamic ensemble pruning based on affinity propagation[J].Computers in Biology and Medicine, 2017, 87(8):8-21. [9] 李瑞. 基于聚類的动态集成选择算法[J].计算机应用与软件, 2014, 31(8):317-323. LI R. Dynamic ensemble selection algorithm based on clustering[J].Computer Applications and Software, 2014, 31(8):317-323. [10]XIAO J, XIAO Y, HUANG A Q, et al. Feature-selection-based dynamic transfer ensemble model for customer churn prediction[J]. Knowledge and Information Systems, 2015, 43(1):29-51. [11]MLLER A B,BEUCHER A, IVERSEN B V, et al. Predicting artificially drained areas by means of a selective model ensemble[J]. Geoderma, 2018, 320:30-42. [12]OLIVERA D V R, CAVALCANTI G D C, PORPIONO T N,et al. K-nearest oracles borderline dynamic classifier ensemble selection[C]∥2018 International Joint Conference on Neural Networks(IJCNN).Rio de Janeiro:IEEE,2018:1-8. [13]DIDACI L, GIACINTO G.Dynamic classifier selection by adaptive k-nearest-neighbourhood rule[J].Multiple Classifier Systems, 2004:174-183. [14]CRUZ R M O, OLIVEIRA D V R, CAVALCANTI G D C, et al. FIRE-DES++:Enhanced online pruning of base classifiers for dynamic ensemble selection[J].Pattern Recognition, 2019, 85:149-160. [15]徐继伟, 杨云. 集成学习方法:研究综述[J].云南大学学报(自然科学版), 2018, 40(6):1082-1092. XU J W, YANG Y. A survey of ensemble learning approaches[J].Journal of Yunnan University(Natural Science Edition), 2018, 40(6):1082-1092. [16]BREIMAN L.Random forests[J].Machine Learning, 2001, 45(1):5-32. [17]WANG H Z, YANG F, LUO Z Y. An experimental study of the intrinsic stability of random forest variable importance measures[J].BMC Bioinformatics, 2016, 17(1):1-18. [18]ZHANG T L, XIA D H, TANG H S, et al. Classification of steel samples by laser-induced breakdown spectroscopy and random forest[J].Chemometrics and Intelligent Laboratory Systems, 2016, 157:196-201. [19]SHENG L W, ZHANG T L, NIU G H, et al. Classification of iron ores by laser-induced breakdown spectroscopy (LIBS) combined with random forest (RF)[J].Journal of Analytical Atomic Spectrometry,2015, 30(2):453-458. [20]LIN C, CHEN W Q, QIU C, et al. LibD3C: Ensemble classifiers with a clustering and dynamic selection strategy[J].Neurocomputing, 2014,123:424-435. [21]VERIKAS A, GELZINIS A, BACAUSKIENE M. Mining data with random forests: A survey and results of new tests[J].Pattern Recognition, 2011, 44(2):330-349. [22]ZHANG Q, PENG C, LU Y M, et al. Airborne electromagnetic data levelling using principal component analysis based on flight line difference[J].Journal of Applied Geophysics, 2018, 151:290-297. [23]李遠博, 曹菡. 基于PCA降维的协同过滤推荐算法[J].计算机技术与发展, 2016, 26(2):26-30. LI Y B, CAO H. Collaborative filtering recommendation algorithm based on PCA dimension reduction[J].Computer Technolocy and Development, 2016, 26(2):26-30. [24]刘鹏, 杜佳芝, 吕伟刚, 等. 面向不平衡数据集的一种改进的k-近邻分类器[J].东北大学学报(自然科学版), 2019, 40(7):932-936. LIU P, DU J Z, LYU W G, et al. A modified KNN classifier for unbalanced dataset[J].Journal of Northeastern University(Natural Science Edition), 2019, 40(7):932-936. [25]LI C G, QIU Z Y, LIU C T. An Improved Weighted K-Nearest Neighbor Algorithm for Indoor Positioning[J].Wireless Personal Communications, 2017, 96(2):2239-2251. (编 辑 李 静)