文档章节

Weka开发[13]-Ensemble

pior
 pior
发布于 2015/10/20 20:27
字数 246
阅读 23
收藏 0

   这一篇介绍一下如何使用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;
 
public class EnsembleTest
{
    private Instances m_instances = null;
    
    public void getFileInstances( String fileName ) throws Exception
    {
        FileReader frData = new FileReader( fileName );
        m_instances = new Instances( frData );
        
        m_instances.setClassIndex( m_instances.numAttributes() - 1 );
    }
    
    public void 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 ) ) );
    }
    
    public void 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 ) ) );
    }
    
    public static void 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();
    }
}



本文转载自:

共有 人打赏支持
pior
粉丝 26
博文 151
码字总数 22496
作品 0
济南
高级程序员
私信 提问
Weka开发[6]-参数设置

这一次介绍的非常简单,会用传命令行参数的人就不用浪费时间看这一篇了,这一篇介绍weka中一些类参数传递的问题。 首先要传递参数当然要知道参数有哪些,有什么作用,要知道这些,建议用Wek...

pior
2015/10/17
79
0
Weka开发[14]-AdaBoost源代码介绍

这一次讲的是Ensemble的东西,一位读者希望我讲一下Adaboost的内容,这种Ensemble看起来的确比较吓人,推荐一篇论文:Ensemble Based Systems in Decision Making. 在这里所有理论的东西我就...

pior
2015/10/20
131
0
Weka开发[7]-LibSVM

首先要提的是LibSVM是一个库,Lib很明显是library的缩写,有些人不知道怎么会认为它是一种算法。它是由中国台湾的Chih-Chung Chang和Chih-Jen Lin等人开发的,他们用多种语言实现写了LibSVM。...

pior
2015/10/17
187
0
Weka开发[5]-半监督算法

这次介绍一个我现在正在做的半监督算法,因为我只是提出一个框架,半监督算法只是一个工具,可是为了找这个工具也让我花了不少功夫。现在介绍的暂时不是Weka的一部分,但开发者是waikato大学...

pior
2015/10/17
46
0
Weka 开发[1]-Instances类

言归正传,开始介绍Weka,先google一下,把Weka软件下载下来,在Weka的目录中有一个weka.jar的包。 把包添加到工程中后,就可以调用weka中的函数了。 再介绍一点weka的基本知识,在weka的目录...

pior
2015/10/17
217
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-2

上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又是什么? 控制其实就是控制对象的创建。 反转与正转对应,正转...

白话
26分钟前
0
0
Integer使用双等号比较会发生什么

话不多说,根据以下程序运行,打印的结果为什么不同? Integer a = 100;Integer b = 100;System.out.println(a == b);//print : trueInteger a = 200;Integer b = 200;System.out.pr...

兜兜毛毛
昨天
8
0
CockroachDB

百度云上的CockroachDB 云数据库 帮助文档 > 产品文档 > CockroachDB 云数据库 > 产品描述 开源NewSQL – CockroachDB在百度内部的应用与实践 嘉宾演讲视频及PPT回顾:http://suo.im/5bnORh ...

miaojiangmin
昨天
4
0
I2C EEPROM驱动实例分析

上篇分析了Linux Kernel中的I2C驱动框架,本篇举一个具体的I2C设备驱动(eeprom)来对I2C设备驱动有个实际的认识。 s3c24xx系列集成了一个基于I2C的eeprom设备at24cxx系列。at24cxx系列芯片包...

yepanl
昨天
5
0
设计模式之工厂模式

本篇博文主要翻译这篇文章: https://www.journaldev.com/1392/factory-design-pattern-in-java 由于翻译水平有限,自认为许多地方翻译不恰当,欢迎各位给出宝贵的建议,建议大家去阅读原文。...

firepation
昨天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部