weka+eclipse算法二次开发(1)

Weka的全名是怀卡托智能分析环境(Waikato Environment for Knowledge Analysis),是一款免费的,非商业化的,基于JAVA环境下开源的机器学习以及数据挖掘软件。

安装完环境之后,weka的下载地址:http://www.cs.waikato.ac.nz/ml/weka/里的Developer Verstion

新建一个java工程,添加jar包,在weka的安装目录下(weka.jar和weka-src.jar)

以下是测试代码,使用的数据集是weka-3-7自带

package test;

import java.io.File;

import weka.classifiers.CheckClassifier;

import weka.classifiers.Classifier;

import weka.classifiers.Evaluation;

import weka.classifiers.evaluation.*;

import weka.core.Instance;

import weka.core.Instances;

import weka.core.converters.*;

public class testweka {

/**

 * @param args

 */

public static void main(String[] args) {

   Instances ins = null;

   Classifier cfs = null;



   try {

       //读入训练测试样本

       File file = new File("C:\\Program Files\\Weka-3-7\\data\\contact-lenses.arff");

       ArffLoader loader = new ArffLoader();

       loader.setFile(file);

       ins = loader.getDataSet();

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

       //初始化分类器

       cfs = (Classifier)Class.forName("weka.classifiers.bayes.NaiveBayes").newInstance();

       //使用训练样本进行分类

       cfs.buildClassifier(ins);

       //使用测试样本测试分类器的学习效果

       Instance testInst;

       Evaluation testingEvaluation = new Evaluation(ins);

       int length = ins.numInstances();

       for(int i = 0; i < length ; i++){

          testInst = ins.instance(i);

          testingEvaluation.evaluateModelOnceAndRecordPrediction(cfs, testInst);

       }

       //打印分类结果

       System.out.println("分类的正确率"+(1-testingEvaluation.errorRate()));

   } catch (Exception e) {

       e.printStackTrace();

   }

}

}

一切正常的话,输出结果是:分类的正确率0.9583333333333334

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值