Weka 3概述及开发环境搭建

Weka 3: Java实现的数据挖掘软件

Weka:用于数据挖掘任务的机器学习算法的集合,这些算法要么直接应用到数据集上,要么在Java代码中调用。Weka包含如下工具:

  • 数据预处理
  • 分类
  • 回归
  • 聚类
  • 关联规则
  • 可视化
同时,它也非常适合用于开发新机器学习方案。

Weka是一种开源软件,遵循GNU通用公共许可证。

Data Mining with Weka,有一个5周的大型开放式网络课程,从2013年9月9号开始。地址如下:
https://weka.waikato.ac.nz/

一、入门指南
下列表格显示了运行一个指定的Weka版本需要的Java版本。也指定了当一个改变发生时,列出了日期和子版本号。
Weka 3概述及开发环境搭建_第1张图片
有两个基本的weka版本:
一个是稳定版本,相应于最新的数据挖掘书本。另一个就是开发版本,该版本接收新的特征和展示包管理系统以让weka容易让Weka社区增加新的功能到Weka中。

Weka 3.6是最新的Weka的稳定版本,正如data mining 第三版中所述,Weka分支仅接收bug修复。


二、开发环境搭建
1、在http://www.cs.waikato.ac.nz/ml/weka/downloading.html网站上下载适合自己系统的版本,我的机器系统是x86 window XP,所以选择的是Windows x86版本的安装版本。

2、在Eclipse中新建一个工程,添加Weka安装目录下的jar包(weka.jar和weka-src.jar)。导入Jar包到Eclipse的方法参考:http://blog.csdn.net/justinavril/article/details/2783182

3、输入如下测试代码
import java.io.File;
import weka.classifiers.Classifier;
import weka.classifiers.Evaluation;
import weka.core.Instance;
import weka.core.Instances;
import weka.core.converters.*;

public class wekaTest {
	public static void main(String[] args){
		Instances ins = null;
		Classifier cfs = null;
		
		try{
			// read the training set
			File file = new File("C:\\Program Files\\Weka-3-6\\data\\contact-lenses.arff");
			ArffLoader loader = new ArffLoader();
			loader.setFile(file);
			
			ins = loader.getDataSet();
			ins.setClassIndex(ins.numAttributes() - 1);
			
			// initializing the classifier
			cfs = (Classifier)Class.forName("weka.classifiers.bayes.NaiveBayes").newInstance();
			
			// Using the training set for classifying
			cfs.buildClassifier(ins);
			
			// using testing  set for testing the efficiency of the classifier
			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);
			}
			
			// print the classifying results
			System.out.println("分类正确率:" + (1 - testingEvaluation.errorRate()));
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

4.若以上代码没有错误的话,运行结果如下:
分类正确率:0.9583333333333334


参考自:
1.http://www.cs.waikato.ac.nz/ml/weka/index.html
2.http://zjhello123.blog.163.com/blog/static/2549514320129291228597/


你可能感兴趣的:(Weka 3概述及开发环境搭建)