weka特征选择源码阅读

先从调用开始

ASEvaluation evaluator = new CfsSubsetEval(); //选择算法
ASSearch search = new BestFirst();//搜索算法

AttributeSelection as = new AttributeSelection();
as.setEvaluator(evaluator);//设置评价算法(选择算法)
as.setSearch(search);//设置搜索算法

as.SelectAttributes(dataSet);//调用search
numOfNewAttributes = as.numberAttributesSelected();//结果数据
selectedAttributes = as.selectedAttributes();//结果数据

以上是调用的主要代码,主要关注

as.SelectAttributes(dataSet);//调用search

进入SelectAttributes 605行

// Do the search
attributeSet = m_searchMethod.search(m_ASEvaluator, 
					 m_trainInstances);

看到了吗?“Do the search”这就执行了。先说参数,一会儿说方法。在596行对m_ASEvaluator进行了初始化。根据调用部分可知,程序中定义的是CfsSubsetEval。所以进入CfsSubsetEval,算法详细信息

Correlation-based Feature Subset Selection for Machine Learning. Hamilton, New Zealand.

上面的文章来源于注释。

CfsSubsetEval的326行,可以看到代码

public void buildEvaluator (Instances data)

接下来的事情,就交给算法本身了。接下来说search方法。同理,使用到了BestFirst搜索算法,是的去该类中找对应的search吧。

  public int[] search (ASEvaluation ASEval, Instances data)

进入BestFirst,在668行看到了search方法的具体实现。接下来还是交给算法本身。

对于BestFirst算法请看向这里》》》http://blog.csdn.net/aalbertini/article/details/6292060

转载于:https://my.oschina.net/weizhikai/blog/650628

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值