weka有 两种属性选择模式
1是
属性子集评估器+搜索方法(后者可以说是循环,前者是循环的每个环节的操作)
2是
单一属性评估器+排序方法
属性子集评估器有
CfssubEval:综合考虑单一属性的预测值和属性间的重复度。
classifiersubsetEval:用评估器评估属性集
consistencySubsetEval:将训练数据集映射到属性机上来检测类型的一致性
WrapperSubsetEval:使用分类器和交叉验证(包装方法)
搜索方法有
bestFirst:回溯的贪婪搜索
ExhaustiveSearch:穷举搜索
GeneticSearch:使用遗传算法搜索
GreedyStepwise:不回溯的贪婪搜索
randomSearch:随机搜索
RankSearch:排列属性并使用属性子集评估器将有潜力的属性进行排序
单一属性评估器
ChiSquaredAttributeEval:以基于类的X2为依据的属性评估
GainRationAttributeEval:以增益率为依据的属性评估
InfoGainAttributeEval:以信息增益为依据的属性评估
OneRAttributeEval:以OneR的方法论来评估属性
PrincipleComponent:进行主成分的分析和转换
ReliefAttributeEval:基于实例的属性评估器
SymmeticalUncertAttributeEavl:以对称不确定性为依据的属性评估
排序方法
Ranker:按照属性的评估对他们进行排序
下面学习下InfoGainAttributeEval:以信息增益为依据的属性评估------------------------------:
别人的介绍:http://www.360doc.com/content/09/1010/11/79028_7055867.shtml
源码:http://www.cse.iitb.ac.in/infolab/cep/day7/lab/tools/weka-3-5-3/doc/weka/attributeSelection/InfoGainAttributeEval.html
属性选择右边显示界面有语句
“
Search Method:
Attribute ranking.------------排序方法
Attribute Evaluator (supervised, Class (nominal): 13 cate):
Filtered Attribute Evaluator
Filter: weka.filters.supervised.instance.SpreadSubsample -M 0.0 -X 0.0 -S 1-----------有监督的过滤器,对样本过滤,对数据集进行随机的重新采样。
Attribute evaluator: weka.attributeSelection.InfoGainAttributeEval-----------------单一属性评估器,以信息增益为依据的属性评估
Filtered header:
Ranked attributes:
0.2907 11 hubse10
0.283 5 degree
0.2666 2 cluster
0.2467 15 hubs20e10
”
weka中对数据的预处理完全由过滤器来完成,所有的预处理方法都可以在weka.filters中找到。对于一个过滤器类,也就是继承自weka.filters.Filter的子类,都可以在遵从定义的情况下被weka系统中的其他类所使用。
对于数据预处理,从所针对的目标来说可以分为2种:一是处理数据集的属性,二是处理数据集中的样本。两者都继承自Filter。其基本行为就是输入一个实例,输出一个修改后的实例。
除了Filter这个主要的过滤器基类外,SupervisedFilter和UnsupervisedFilter接口很重要,它们实际上是两个空的接口,没有说明任何方法,只用来标记一个过滤器是有监督的还是无监督的。及有无给定类标。
weka中的所有数据集都采用Instances类来进行保存。所有的数据都将加载到内存中再进行处理,Instances对象由多个Instance构成,,每个instance都代表了一个数据项,此外Instance还保存了属性结构。
过滤器就是对Instances进行处理,更改其中的值,或者增加或者删除一些属性,甚至样本。过滤之后,再返回一个Instance。
关于过滤器,可见“针对贝叶斯分类器的数据质量的定量分析研究.caj”
来源:https://www.cnblogs.com/xaf-dfg/p/3558383.html