Weka开发[13]-Ensemble

转自 Koala++'s blog  感谢原作者

 

这一篇介绍一下如何使用Ensemble的类,不过提醒一下,不要什么都来个Ensemble,对这种毫无想象力可言的做法,我真是有点无语。

       我已经写了这么多篇了,我也有点累了,这篇也是有人发E-mail让我写的。大家就先自己看吧,至于是不是对的,我以后有机会了我看了,再告诉大家了。

package instanceTest;

import java.io.FileReader;

import weka.classifiers.Classifier;

import weka.classifiers.bayes.NaiveBayes;

import weka.classifiers.functions.LibSVM;

import weka.classifiers.functions.SMO;

import weka.classifiers.meta.AdaBoostM1;

import weka.classifiers.meta.Vote;

import weka.classifiers.trees.J48;

import weka.core.Instances;

import weka.core.SelectedTag;

publicclass EnsembleTest

{

private Instancesm_instances = null;

publicvoid getFileInstances( String fileName )throws Exception

{

FileReader frData = new FileReader( fileName );

m_instances =new Instances( frData );

m_instances.setClassIndex(m_instances.numAttributes() - 1 );

}

publicvoid AdaBoostClassify()throws Exception

{

LibSVM baseClassifier = new LibSVM();

AdaBoostM1 classifier = new AdaBoostM1();

classifier.setClassifier( baseClassifier );

classifier.buildClassifier( m_instances );

System.out.println( classifier.classifyInstance(m_instances.instance( 0 ) ) );

}

publicvoid VoteClassify()throws Exception

{

Classifier baseClassifiers[] = new Classifier[3];

baseClassifiers[0] = new J48();

baseClassifiers[1] = new NaiveBayes();

baseClassifiers[2] = new SMO();

Vote classifier = new Vote();

SelectedTag tag = new SelectedTag(Vote.MAJORITY_VOTING_RULE,Vote.TAGS_RULES);

classifier.setCombinationRule( tag );

classifier.setClassifiers( baseClassifiers );

classifier.buildClassifier( m_instances );

System.out.println( classifier.classifyInstance(m_instances.instance( 0 ) ) );

}

publicstaticvoid main( String[] args )throws Exception

{

EnsembleTest etest = new EnsembleTest();

etest.getFileInstances( "F://Program Files//Weka-3-6//data//contact-lenses.arff");

etest.AdaBoostClassify();

etest.VoteClassify();

}

}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值