由于笔者水平限制,本文可能晦涩难懂,特此向阅读本编文章的朋友们表示歉意!
weka3.8.1中关于特征选择的搜索函数有3个类,分别是Ranker,GreedyStepwise,BestFirst,这3个类的作用是配合评估函数,将训练数据集中的特征进行筛选、排序。以下是笔者对于这3个类的个人理解,如有错误之处望发现的朋友予以批评指正。
总的来说Ranker速度最快,如果不考虑特征间的关系,可以考虑使用它,比如朴素贝叶斯算法;GreedyStepwise速度次之,如果资源有限,又要考虑特征间的关系,比如逻辑回归、决策树,建议用GreedyStepwise;如果资源较多,又要考虑特征间的关系,建议使用BestFirst,因为它的效果会比GreedyStepwise更好。
Ranker
获得一个特征排序列表,按照每个特征的作用进行排序;
优点
速度快,每个特征都独立获得评估;
缺点
只能评估单个的特征,不能评估特征组合
GreedyStepwise
获得一个推荐的特征集合,该特征集合包括初始指定的特征集合,如果不指定即为空;
在初始特征集合的基础上,按顺序遍历每一个特征,评估每个一个特征对初始特征集合的作用,如果有积极作用,则将该特征加入初始特征集合,如果没有积极作用,则将该特征忽略;
优点:
每个特征都得到评估,基本上可以找出一个相对有价值的特征集合,计算量不是很大,计算时间不会太长。
疑点1:
特征集合评估的基础集合不断变化,对于每一个待评估的特征不公平;比如第1个特征有价值1.0,第二个特征价值1.1,均入选,到了第n个特征,由于初始数据集中入选了大量有价值的特征,n的特征价值是2.0,也许可能被落选。即前面的特征选择比较宽松,遍历到后期,特征选择比较苛刻。
疑点2:
按顺序筛选,可能存在的问题是,特定组合效果非常好,未必会被发现,比如1、2、3组合的效果是1.0,但123加上4的效果并不好,123加上5的效果也不好,
4加上5的效果却好于123的组合,此时4、5的组合就无法被发现。(疑点待验证)
BestFirst
1、初始化特征集合r,作为下一步计算的基础;初始集合可以在函数中指定;否则初始集合为空,如果是反向获取(做减法),初始集合为全部特征;
2、克隆特征集合r,得到新的集合c,遍历所有集合,找出和克隆集合c配合最好的n个特征,将这列特征分别加入到现有的初始特征集合中,存放在列表l中(n可设置)
3、从列表l中取得第一个对象,即当前效果最好的特征集合,作为新的克隆特征集合c,比较集合c和r,如果c效果更有,将c赋值给r,同时在列表l中删除第一个对象,重复步骤2
4、循环重复步骤3,直到连续循环n次,特征集合r均未发生变化,则退出,并返回特征集合r。
优点:
各个特征独立参与,保证每个特征在公平环境下竞争,可以解决GreedyStepwise的疑点1
组合顺序不是特定的按特征排序,可以解决GreedyStepwise的疑点2
如果参数设置足够大,几乎可以遍历所有种可能,在优中选优的指导思想下,在计算资源足够多时,很可能可以找出比较优秀靠谱的特征集合。
疑点:
计算量比较大,对计算机资源消耗比较大。如果参数设置的比较小,虽然计算量可控,但依然有很大的可能性是没有找出最佳特征集合。
增加个广告:http://51msg.net http://008sou.com http://s.008sou.com http://ask.008sou.com
分享到:
相关推荐
Many different machine learning algorithms exist that can easily be used off the shelf, many of these methods are implemented in the open source WEKA package. However, each of these algorithms have ...
python-weka-wrapper, 使用javabridge的Weka的python 包装器 python-weka-wrapper使用库的Java机器学习工作台 Weka的python 包装器。要求:python 2.7 ( 用于 python 3版本,请参见这里的 )javabridge (> = 1.0.1
数据挖掘-WEKA实验报告一.pdf数据挖掘-WEKA实验报告一.pdf数据挖掘-WEKA实验报告一.pdf数据挖掘-WEKA实验报告一.pdf数据挖掘-WEKA实验报告一.pdf数据挖掘-WEKA实验报告一.pdf
JAVA-weka包.zip
confusionmatrix-weka-package.zip,包含Explorer.weka包的各种混淆矩阵可视化,其中包含Explorer中分类器的混淆矩阵的不同可视化。
基于-weka的数据分类和聚类分析实验报告.doc
Weka为Pentaho支持开发的数据挖掘工具,此文档中包括了weka的数据格式、界面说明。
Weka是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis)的英文字首缩写...功能有数据处理、特征选择、分类、回归、可视化等,支持多种数据文件格式,如arff、xrff、csv等,主流的数据格式是csv和arff。
基于web-weka和D3的临床数据挖掘及可视化关键技术,刘斌,邹远强,临床数据挖掘做为一个交叉学科近年来变得越来越重要。而到目前为止,还没有一个完整的基于web的从临床结构化和非结构化数据抽提到��
cluster.pdf是一篇关于在weka中实现聚类的论文 对于了解weka聚类 写数据挖掘方面的论文 有帮助,开发聚类设计也可以参考
python-weka-wrapper 使用库的Java机器学习工作台Python包装器。 要求: Python 2.7(有关Python 3版本,请参见) javabridge(> = 1.0.14) matplotlib(可选) pygraphviz(可选) PIL(可选) OracleJDK ...
weka简介,数据格式,数据准备,explorer界面,分类、聚类、关联规则。
锡基特韦卡在scikit-learn中提供Weka算法。 它利用库来处理Java虚拟机。功能性可用的分类器(分类/回归) 计划聚类器数据生成器筛选器安装创建虚拟环境virtualenv -p /usr/bin/python3.7 venv或者: python3 -m venv...
数据分析aws-weka 使用云平台-AWS和工具-WEKA处理,存储,分析和可视化大数据集
详细讲述了weka中特征选择的使用,清晰,值得学习
weka-src[weka源码] 供参考
WEKA 的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),同时 weka 也是新西兰的一种鸟名,而 WEKA 的主要开发者也来自新西兰。WEKA 作为一个公开的数据挖掘工作平台,集合了大量能承担...