【Machine Learning】wekaの特征选择简介

看过这篇博客的都应该明白,特征选择代码实现应该包括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

时间: 2024-10-11 04:29:10

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

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

机器学习系统设计(Building Machine Learning Systems with Python)- Willi Richert Luis Pedro Coelho 总述 本书是 2014 的,看完以后才发现有第二版的更新,2016.建议阅读最新版,有能力的建议阅读英文版,中文翻译有些地方比较别扭(但英文版的书确实是有些贵). 我读书的目的:泛读主要是想窥视他人思考的方式. 作者写书的目标:面向初学者,但有时间看看也不错.作者说"我希望它能激发你的好奇心,并足以让你保持渴望,不断探索

[Machine Learning] 国外程序员整理的机器学习资源大全

本文汇编了一些机器学习领域的框架.库以及软件(按编程语言排序). 1. C++ 1.1 计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV—它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统. 1.2 机器学习 MLPack DLib ecogg shark 2. Closure Closure Toolbox—Clojure语言库与工具的分类目录 3

SOME USEFUL MACHINE LEARNING LIBRARIES.

from: http://www.erogol.com/broad-view-machine-learning-libraries/ http://www.slideshare.net/VincenzoLomonaco/deep-learning-libraries-and-rst-experiments-with-theano FEBRUARY 6, 2014 EREN 1 COMMENT Especially, with the advent of many different and in

machine learning----->谷歌Cloud Machine Learning平台

1.谷歌Cloud Machine Learning平台简介: 机器学习的三要素是数据源.计算资源和模型.谷歌在这三个方面都有强大的支撑:谷歌不仅有种类丰富且数量庞大的数据资源,而且有强大的计算机群提供数据存储于数据运算能力,同时,还研究实现了TensorFlow这个机器学习.深度学习算法库.基于这些背景,谷歌也已经训练出了许多实用的可以应用于商业软件的模型,开发者可以直接调用相应的API来开发自己的商业软件. Google Cloud Machine Learning是一个管理平台,它集合了上

(转)8 Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset

8 Tactics to Combat Imbalanced Classes in Your Machine Learning Dataset by Jason Brownlee on August 19, 2015 in Machine Learning Process Has this happened to you? You are working on your dataset. You create a classification model and get 90% accuracy

Awesome Machine Learning

Awesome Machine Learning  A curated list of awesome machine learning frameworks, libraries and software (by language). Inspired by awesome-php. If you want to contribute to this list (please do), send me a pull request or contact me @josephmisiti Als

微软机器学习Azure Machine Learning入门概览

Azure Machine Learning(简称“AML”)是微软在其公有云Azure上推出的基于Web使用的一项机器学习服务,机器学习属人工智能的一个分支,它技术借助算法让电脑对大量流动数据集进行识别.这种方式能够通过历史数据来预测未来事件和行为,其实现方式明显优于传统的商业智能形式.微软的目标是简化使用机器学习的过程,以便于开发人员.业务分析师和数据科学家进行广泛.便捷地应用.这款服务的目的在于“将机器学习动力与云计算的简单性相结合”.AML目前在微软的Global Azure云服务平台提

Machine Learning推荐教材

Source: http://www.openlab.co/forums/thread/413856/1 1. 机器学习作者: (美)Tom Mitchell出版社: 机械工业出版社评语 : 现在看来,这本书也许是过时了.但在那个年代,这是开天辟地的一本书.第一章就清楚定义了什么是ML:本质是在给定的搜索空间和计算资源下,近似一个函数. <RET> 虽然今天大家都用统计的手段来研究ML,模型和优化算法都有了极大的发展,应用也更加五花八门,计算能力和当年更不是一个数量级.不过,看看这本书哪些观点

【转载】Machine Learning CMSC 422 Spring 2013

Machine LearningCMSC 422Spring 2013 Schedule: MWF 4:00pm-4:50pm Location: CSIC 2117 Instructor: Hal Daume III:  Office Hours: AVW 3227; Fri 2:45-3:45 or by appointment Piazza: UMD/cs422 TAs: Phil Dasler (office hours: Thr 2:00-3:00 in TA room)   Josh