Weka第一个编程例子

    Weka可以作为一个包导入到eclipse工程中,具体看截图

    

       示例代码如下:

    

package com.mycompany.project;

import java.io.File;
import java.util.Random;

import weka.classifiers.Evaluation;
import weka.classifiers.trees.J48;
import weka.core.Instances;
import weka.core.converters.ArffLoader;

public class J48DecisionTree {

	public static void main(String[] args) {
		
		Instances instances= null;
		try {
			File file = new File("C:\\Program Files\\Weka-3-6\\data\\weather.nominal.arff");
			//ARFF数据加载器
			ArffLoader loader = new ArffLoader();
			//加载数据
			loader.setFile(file);
			//获得数据集
			instances = loader.getDataSet();
			// 在使用样本之前一定要首先设置instances的classIndex,否则在使用instances对象是会抛出异常
			instances.setClassIndex(instances.numAttributes() - 1);
			//评估器,评估模型
		    Evaluation eval = new Evaluation(instances);
		    //J48决策树分类器
		    J48 tree = new J48();
		    //进行十折交叉验证
		    eval.crossValidateModel(tree, instances, 10, new Random(1));
		    //打印验证结果
		    System.out.println(eval.toSummaryString("\nResults\n\n", false));
		    //打印信息
		    System.out.println(eval.toMatrixString());
			
        } catch (Exception e) {
	        // TODO: handle exception
        }
		
	}

}



    输出如下:

    

Results


Correctly Classified Instances           7               50      %
Incorrectly Classified Instances         7               50      %
Kappa statistic                         -0.0426
Mean absolute error                      0.4167
Root mean squared error                  0.5984
Relative absolute error                 87.5    %
Root relative squared error            121.2987 %
Total Number of Instances               14     

=== Confusion Matrix ===

 a b   <-- classified as
 5 4 | a = yes
 3 2 | b = no



    看着是不是和前面手工操作的一致呢?

转载于:https://my.oschina.net/patricklee/blog/185219

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值