brew:python多分类器系统api

brew的Python项目详细描述


https://badge.fury.io/py/brew.pnghttps://travis-ci.org/viisar/brew.png?branch=masterCode Healthhttps://coveralls.io/repos/github/viisar/brew/badge.svg?branch=masterJoin the chat at https://gitter.im/viisar/brew

brew:多分类器系统api

该项目由dayvid victorthyago porpino于2014年启动
适用于伯南布哥联邦大学的多分类器系统课程。
这个项目的目的是提供一个简单的api,用于集成、堆叠,
混合、集成生成、集成修剪、动态分类器选择,
和动态集成选择。

功能

  • 概述:集合、堆叠和混合。
  • 集成分类器生成器:bagging,随机子空间,smote bagging,ics bagging,smote ics bagging。
  • 动态选择:整体局部精度(ola)、局部类精度(lca)、多分类器行为(mcb)、k-最近点消除(knora-e)、k-最近点联合(knora-u)、先验动态选择、后验动态选择、动态选择knn(dsknn)。
  • 合奏组合规则:多数票、最小值、最大值、平均值和中位数。
  • 集成多样性度量:熵度量e、kohavi-wolpert方差、q统计量、相关系数p、不一致度量、一致度量、双故障度量。
  • 整体修剪:通过个人贡献进行整体修剪(史诗)。

示例

importnumpyasnpimportmatplotlib.pyplotaspltimportmatplotlib.gridspecasgridspecimportitertoolsimportsklearnfromsklearn.linear_modelimportLogisticRegressionfromsklearn.svmimportSVCfromsklearn.ensembleimportRandomForestClassifierfrombrew.baseimportEnsemble,EnsembleClassifierfrombrew.stacking.stackerimportEnsembleStack,EnsembleStackClassifierfrombrew.combination.combinerimportCombinerfrommlxtend.dataimportiris_datafrommlxtend.evaluateimportplot_decision_regions# Initializing Classifiersclf1=LogisticRegression(random_state=0)clf2=RandomForestClassifier(random_state=0)clf3=SVC(random_state=0,probability=True)# Creating Ensembleensemble=Ensemble([clf1,clf2,clf3])eclf=EnsembleClassifier(ensemble=ensemble,combiner=Combiner('mean'))# Creating Stackinglayer_1=Ensemble([clf1,clf2,clf3])layer_2=Ensemble([sklearn.clone(clf1)])stack=EnsembleStack(cv=3)stack.add_layer(layer_1)stack.add_layer(layer_2)sclf=EnsembleStackClassifier(stack)clf_list=[clf1,clf2,clf3,eclf,sclf]lbl_list=['Logistic Regression','Random Forest','RBF kernel SVM','Ensemble','Stacking']# Loading some example dataX,y=iris_data()X=X[:,[0,2]]# Plotting Decision Regionsgs=gridspec.GridSpec(2,3)fig=plt.figure(figsize=(10,8))itt=itertools.product([0,1,2],repeat=2)forclf,lab,grdinzip(clf_list,lbl_list,itt):clf.fit(X,y)ax=plt.subplot(gs[grd[0],grd[1]])fig=plot_decision_regions(X=X,y=y,clf=clf,legend=2)plt.title(lab)plt.show()
decision regions plots

依赖关系

  • Python2.7+
  • scikit学习>;=0.15.2
  • numpy=1.6.1
  • scipy=0.9
  • matplotlib>;=0.99.1(仅示例)
  • mlxtend(仅限示例)

安装

使用pip

pip install brew

或者,如果您喜欢最新版本,请从此处获取:

pip install git+https://github.com/viisar/brew.git

重要参考资料

  • 组合模式分类器:方法与算法。约翰•威利父子公司,2014年。
  • 周志华。集成方法:基础和算法。CRC出版社,2012年。

文件

完整的文档位于http://brew.rtfd.org

历史

0.1.0(2014-11-12)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java搜索大数组中的最小数   java如何将数组变量用于IF语句?   多线程如何在java中使用多核?   java实现中的数据结构单链表,无限打印输出?   java检查命令行参数是否按有效顺序传递   爪哇点火。ignite返回“网格实例未正确启动或已停止”   java如何同时使用toString()或print()等显示两个输出?   在Java中使用LinkedList列出两个多项式的加法   Java中并行流的正确使用   mac上的java Eclipse:单击Eclipse图标后崩溃,重新安装,但无法为pyDev创建视图   java如何在sqlite4java中禁用自动提交?   java这样行吗?Synchronized(线程),然后synch块中的thread=null   java方法。调用它可以接受的参数?