看过这篇博客的都应该明白,特征选择代码实现应该包括3个部分:

  1. 搜索算法;
  2. 评估函数;
  3. 数据;

因此,代码的一般形式为:

AttributeSelection attsel = new AttributeSelection(); // create and initiate a new AttributeSelection instance
Ranker search = new Ranker(); // choose a search method
PrincipalComponents eval = new PrincipalComponents(); // choose an evaluation method
attsel.setEvaluator(eval); // set evaluation method
attsel.setSearch(search); // set search method
attsel.SelectAttributes(data); // set the data to be used for attribute selection

其中,搜索方法和评估函数是不同的:

属性评估方法:

CfsSubsetEval:根据属性子集中每一个特征的预测能力以及它们之间的关联性进行评估。

GainRatioAttributeEval:根据与分类有关的每一个属性的增益比进行评估。

InfoGainAttributeEval:根据与分类有关的每一个属性的信息增益进行评估。

ChiSquaredAttributeEval:根据与分类有关的每一个属性的卡方值进行评估。

SymmetricalUncertAtrributeEval:根据与分类有关的每一个属性的对称不稳定性进行评估。

ClassifierSubsetEval:根据训练集或测试集之外的数据评估属性子集。

ConsistencySubsetEval:根据利用属性子集进行分类时得到的分类值的一致性进行评价。

CostSensitiveAttributeEval:根据使其基础子集评估开销敏感性,变化选择子集评估方法。

CostSentitiveSubsetEval:方法同上。

FilteresAttributeEval:运行在任意过滤器之后的数据上的任意属性评估。

FilteredSubsetEval:方法同上。

LatenSemanticAnalysis:根据数据的潜在的语义分析和转换进行评估,与随机搜索结合。

OneRAttributeEval:根据OneR分类器评估属性。

PrincipalComponents:根据数据的主要成分分析和转换进行评估。

ReliefFAttributeEval:通过反复测试一个实例和其同类或不同类中最近的实例上的属性值进行评估。

SignificanceAttributeEval:计算双向功能的概率意义评估属性值。

SymmetricalUncertAtrributeSetEval:根据与其他属性集有关的每一个属性的对称不稳定性进行评估。

WrapperSubsetEval:使用一种学习模式对属性集进行评估。

搜索算法:

BestFirst:可回溯的贪婪搜索扩张,最好优先原则。

ExhaustiveSearch:穷举搜索,从空集出发。

FCBFSearch:基于相关性分析的特征选择方法。相关性匹配搜索。

GeneticSearch:Goldberg(1989)提出的简单遗传算法。

GreedyStepwise:向前或向后的单步搜索。

LinearForwardSelection:线性向前搜索。

RaceSearch:比较特征子集的交叉验证错误情况。

RandomSearch:随机搜索。

Ranker:对属性值排序。

RankSearch:选择一个评估器对属性进行排序。

ScatterSearchV1:离散搜索。

SubsetSizeForwardSelection:按照特征子集大小向前线性搜索,这是线性搜索的扩展。

TabuSearch:禁忌搜索。

Subset Search Methods:
1. BestFirst
2. GreedyStepwise
3. FCBFSearch (ASU)

Subset Evaluation Methods:
1. CfsSubsetEval
2. SymmetricalUncertAttributeSetEval (ASU)

Individual Search Methods:
1. Ranker

Individual Evaluation Methods:
1. CorrelationAttributeEval
2. GainRatioAttributeEval
3. InfoGainAttributeEval
4. OneRAttributeEval
5. PrincipalComponents (used with a Rander search to perform PCA and data transform
6. ReliefFAttributeEval
7. SymmetricalUncertAttributeEval

代码样式可以参考:http://java-ml.sourceforge.net/content/feature-subset-selection

【Machine Learning】wekaの特征选择简介的更多相关文章

  1. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  2. [Machine Learning] Learning to rank算法简介

    声明:以下内容根据潘的博客和crackcell's dustbin进行整理,尊重原著,向两位作者致谢! 1 现有的排序模型 排序(Ranking)一直是信息检索的核心研究问题,有大量的成熟的方法,主要 ...

  3. 【Machine Learning】KNN算法虹膜图片识别

    K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  4. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

  5. 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】

    转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...

  6. 机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho

    机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho 总述 本书是 2014 ...

  7. 机器学习(Machine Learning)与深度学习(Deep Learning)资料汇总

    <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.D ...

  8. 【Machine Learning】Python开发工具:Anaconda+Sublime

    Python开发工具:Anaconda+Sublime 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现 ...

  9. 【Machine Learning】决策树案例:基于python的商品购买能力预测系统

    决策树在商品购买能力预测案例中的算法实现 作者:白宁超 2016年12月24日22:05:42 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本 ...

随机推荐

  1. atitit.设计模式(2) -----查表模式/ command 总结

    atitit.设计模式(2) -----查表模式/ command 总结 1. 应用场景: 1 1. 取代一瓦if else 1 2. 建设api rpc风格的时候儿. 1 3. 菜单是Command ...

  2. paip.python ide 总结最佳实践o4.

    paip.python ide 总结最佳实践o4. ====2个重要的标准 1.可以自动补全 2.可以断点调试 =======选型使用报告 Komodo正好儿俄机器上有,使用累挂,自动补全还凑火.就是 ...

  3. UICollectionView基础

    初始化部分: UICollectionViewFlowLayout *flowLayout= [[UICollectionViewFlowLayout alloc]init]; self.myColl ...

  4. 微信开发——OAuth2.0授权

    微信公众平台最近新推出微信认证,认证后可以获得高级接口权限,其中一个是OAuth2.0网页授权,很多朋友在使用这个的时候失败了或者无法理解其内容,希望我出个教程详细讲解一下,于是便有了这篇文章. 一. ...

  5. Avizo - 高级三维可视化及分析软件

    今天从材料科学应用角度介绍Avizo的基本功能. Avizo是一款先进的三维可视化及分析应用,可用来探索从断层扫描.显微镜.核磁共振成像及更多其他技术获得的材料科学数据.从简单的可视化与测量到高级的图 ...

  6. kindle5 去广告

    在Amazon英文官网上登录已注册的美国亚马逊账号,首页找 Help,然后点 Contact Us,然后选了下问题类别,选 Chat. 然后就是和克服沟通了,说明你的情况, hello, I got ...

  7. raid性能对比

    1,raid0的特性:采用剥离,数据将在几个磁盘上进行分割.数据被分成很多数据块,每一数据块会被写入不同的磁盘.从而, 每一磁盘的工作负荷都得到了降低,这有助于加速数据传输.RAID-0可让磁盘更好地 ...

  8. js 去掉字符串前面的0

    <script>var a='00123';alert(a.replace(/\b(0+)/gi,""));</script>

  9. Android定位&地图&导航——自定义公交路线代码

    一.问题描述 基于百度地图实现检索指定城市指定公交的交通路线图,效果如图所示 二.通用组件Application类,主要创建并初始化BMapManager public class App exten ...

  10. 项“XXXXX.sln”已在选择的位置受源代码管理

    项“XXXXX.sln”已在选择的位置受源代码管理.如果尝试重新绑定已在 Microsoft Visual Studio 外部添加到源代码管理的项目,应使用“更改源代码管理”命令.如果是第一次添加此项 ...