deslib
deslib是一个易于使用的集成学习库,专注于实现动态分类器和集成选择的最新技术。
该库基于scikit learn,使用相同的方法签名:
拟合
,
预测
,
预测概率
和
得分
。
所有的动态选择技术都是根据
[1]
中的定义实现的。
动态选择:
动态选择(dynamic selection,ds)是指选择基本分类器的技术。
根据每个待分类的新样本,在测试时进行动态分类。只有最有能力的分类器或最有能力的分类器的集合被选择来预测
特定测试样本的标签。这些技术的基本原理是
池是对所有未知样本进行分类的专家,但是每个基本分类器都是
功能空间的不同局部区域。
由于越来越多的实证研究,ds是最有前途的mcs方法之一(多分类器系统)。
报告优于静态组合方法的性能。这样的技巧
取得了较好的分类性能,特别是在处理小型和不平衡数据时T.S/P>
安装:
可以使用pip:
稳定版本:
pip install deslib
最新版本(正在开发中):
pip install git+https://github.com/scikit-learn-contrib/DESlib
依赖关系:
经过测试,deslib可以与python 3.5、3.6和3.7一起使用。依赖性要求如下:
-
scipy(>;=1.2.0)
-
纽比(>;=1.10.4)
-
科学套件学习(>;=0.19.0)
这些依赖项是使用上面的pip命令自动安装的。
示例:
在这里,我们展示了一个使用knora-e方法的示例,该方法使用随机林作为分类器池:
fromdeslib.des.knora_eimportKNORAE# Train a pool of 10 classifierspool_classifiers=RandomForestClassifier(n_estimators=10)pool_classifiers.fit(X_train,y_train)# Initialize the DES modelknorae=KNORAE(pool_classifiers)# Preprocess the Dynamic Selection dataset (DSEL)knorae.fit(X_dsel,y_dsel)# Predict new examples:knorae.predict(X_test)
库接受任何分类器列表(与scikit learn兼容)作为输入,包括包含不同分类器模型(异构集成)的列表。
有关如何使用API的更多示例,请参见
文档
和examples目录。
组织:
库分为四个模块:
-
deslib.des:des技术的实现(动态集成选择)。
-
dcs:dcs技术的实现(动态分类器选择)。
-
deslib.static:基线集成方法的实现。
-
deslib.util:分类器集成的聚合函数和多样性度量的集合。
< DL>
目前可用的DES技术有:
>OL>
-
meta-des
[7]
[8]
[15]
-
k-最近的-oracle-消除(knora-e)
[3]
-
K-最近的-Oracle-Union(knora-u)
[3]
-
动态集成选择性能
-
k-最近输出配置文件(knop)
[9]
-
随机参考分类器
-
des kullback-leibler散度(des-kl)
[12]
-
des指数
[21]
-
des对数
-
DES最小差值
-
DES群集
-
des-knn
[16]
-
DES多类不平衡(DES-MI)
[24]
< DL>
-
目前可用的dcs技术有:
>OL>
-
修改后的分类器等级(rank)
[19]
-
整体局部精度
-
本地类精度(LCA)
[4]
-
改进的本地精度(mla)
[23]
-
多分类器行为(MCB)
[5]
-
先验选择(a priori)
[6]
-
一个后验选择(后验)
[6]
< DL>
-
基线方法:
>OL>
-
甲骨文
-
最佳单曲
-
静态选择
-
堆叠式分类器
每个des技术的变体也由库提供(例如,meta-des框架的不同版本)。
< DL>
以下技术也适用于所有方法:
> UL>
对于des技术,所选分类器的组合可以做为动态选择(多数投票)、动态加权(加权多数投票)或混合(选择+加权)。
对于所有ds技术,都可以使用动态frieneum修剪(dfp)
[13]
。
对于所有ds技术,实例硬度(ih)可用于用knn对简单样品进行分类,而使用ds技术对硬样品进行分类。有关IH和动态选择的更多详细信息,请参见
[14]
作为一项可选要求,faiss中的快速knn实现可以用于加速计算能力区域。
引文
如果在科学论文中使用deslib,请考虑引用以下论文:
Rafael M.O.Cruz、Luiz G.Hafemann、Robert Sabourin和George D.C.Cavalcanti
deslib:Python中的动态集成选择库。
arxiv预印本arxiv:1802.04967(2018)。
@article{cruz_deslib:2018,
title = {{DESlib}: {A} {Dynamic} ensemble selection library in {Python}},
journal = {arXiv preprint arXiv:1802.04967},
author = {Cruz, Rafael M. O. and Hafemann, Luiz G. and Sabourin, Robert and Cavalcanti, George D. C.},
year = {2018}
}
参考文献:
< COL/> < COL/>
<正文>
<表>
[1]
|
:r.m.o.cruz、r.sabourin和g.d.cavalcanti,《动态分类器选择:最新进展和展望》,信息融合,第41卷,第195-2162018页。
|
< COL/> < COL/>
<正文>
<表>
[2]
|
(
1
,
2
)
:a.s.britto,r.sabourin,l.e.s.de oliveira,分类器的动态选择-综合评论,模式识别47(11)(2014)3665–3680。
|
< COL/> < COL/>
<正文>
<表>
[3]
|
(
1
,
2
)
:a.h.r.ko,r.sabourin,U.S.Britto,Jr.,从动态分类器选择到动态集成选择,模式识别41(2008)1735–1748。
|
< COL/> < COL/>
<正文>
<表>
[4]
|
(
1
,
2
)
:k.伍兹,w.p.凯格迈耶,Jr.,k.鲍耶,使用本地精度估计的多分类器组合,模式分析机器智能的ieee事务19(1997)405–410。
|
< COL/> < COL/>
<正文>
<表>
[5]
|
:g.giacinto,f.roli,基于多分类器行为的动态分类器选择,模式识别34(2001)1879–1881。
|
< COL/> < COL/>
<正文>
< /Tr>
<表>
[6]
|
(
1
,
2
)
:l.didaci,g.giacinto,f.roli,g.l.marcialis,基于局部精度估计的动态分类器选择性能研究,模式识别38(11)(2005)2188–2191、
|
< COL/> < COL/>
<正文>
[7]
<表>
:r.m.o.cruz,r.sabourin,g.d.c.cavalcanti,t.i.ren,meta-des:使用元学习的动态集成选择框架,模式识别48(5)(2015)1925–1935。
|
< COL/> < COL/>
<正文>
<表>
[8]
|
:Cruz,R.M.,Sabourin,R.和Cavalcanti,G.D.,2015年7月。大都会。h:一种使用元学习和动态加权方法的动态集成选择技术。神经网络(ijcnn),2015年国际联合会议(第1-8页)
|
< COL/> < COL/>
<正文>
<表>
[9]
|
:P.R.Cavalin,R.Sabourin,C.Y.Suen,多分类器系统的动态选择方法,神经计算与应用22(3-4)(2013)673–688。
|
< COL/> < COL/>
<正文>
<表>
[10]
|
:t.Woloszynski,m.Kurzynski,《动态集成选择分类器能力的概率模型》,模式识别44(2011)2656–2668。
|
< COL/> < COL/>
<正文>
<表>
[11]
|
:t.Woloszynski,m.Kurzynski,基于随机参考分类器的动态集成选择能力度量,in:国际模式识别会议,2010年,第4194-4197页。
|
< COL/> < COL/>
<正文>
< /Tr>
<表>
[12]
|
(
1
,
2
)
:t.woloszynski,m.kurzynski,p.podsiadlo,g.w.stachowiak,《基于随机分类的动态集成选择能力度量》,信息融合13(3)(2012)207–213
|
< COL/> < COL/>
<正文>
<表>
[13]
|
:Oliveira,D.V.R.,Cavalcanti,G.D.C.和Sabourin,R.,动态集成选择的基本分类器的在线剪枝,模式识别,第72卷,2017年12月,第44-58页。
|
< COL/> < COL/>
<正文>
< /Tr>
<表>
[14]
|
:cruz rm、zakane hh、sabourin r、cavalcanti gd。动态集成选择vs k-nn:为什么以及何时动态选择获得更高的分类性能?
|
< COL/> < COL/>
<正文>
<表>
[15]
|
:r.m.o.cruz,r.sabourin,g.d.c.cavalcanti,meta-des.oracle:动态集成选择的元学习和特征选择,信息融合38(2017)84–103.nov 30;38:84-103。
|
< COL/> < COL/>
<正文>
<表>
[16]
|
(
1
,
2
)
:r.g.f.soares,a.santana,a.m.p.canuto,m.c.p.de souto,使用准确性和多样性来选择分类器来构建集成,nEural Networks(2006)1310–1316。
|
< COL/> < COL/>
<正文>
<表>
[17]
|
:l.i.kuncheva,《组合模式分类器:方法和算法》,威利国际科学出版社,2004年。
|
< COL/> < COL/>
<正文>
<表>
[18]
|
:Shipp、Catherine A和Ludmila I.Kuncheva。"组合方法与组合分类器多样性度量之间的关系。"信息融合3.2(2002):135-148。
|
< COL/> < COL/>
<正文>
<表>
[19]
|
:m.sabourin,a.mitiche,d.thomas,g.nagy,手写数字识别的分类器组合,国际文档分析与识别会议(1993)163–166。
|
< COL/> < COL/>
<正文>
<表>
[20]
|
:l.i.kuncheva,六种分类器融合策略的理论研究,模式分析和机器智能的ieee事务24(2)(2002)281-286。
|
< COL/> < COL/>
<正文>
<表>
[21]
|
(
1
,
2
)
:b.antosik,m.kurzynski,《分类器能力的新度量方法——启发式和在多分类器系统设计中的应用》,in:计算机识别系统4,2011,pp.197–206。
|
< COL/> < COL/>
<正文>
<表>
[22]
|
:史密斯、迈克尔·R、托尼·马丁内斯,还有克里斯托夫·吉拉德·卡里。"数据复杂性的实例级分析",机器学习95.2(2014),第225-256页。
|
< COL/> < COL/>
<正文>
<表>
[23]
|
:p.c.smits,基于动态分类器选择的监督遥感图像分类的多分类器系统,ieee地球科学与遥感事务40(4)(2002)801–813。
|
< COL/> < COL/>
<正文>
<表>
[24]
|
:garcía,s.,zhang,z.l.,altalhi,a.,alshomrani,s.和herrera,f.,"多类不平衡数据集的动态集成选择"。信息科学445(2018):22-37。
|
< COL/> < COL/>
<正文>
<表>
[25]
|
:wolpert,david h."叠加泛化"。神经网络5,第2期(1992):241-259。
|