Java调用weka代码
2017-08-18 09:41
204 查看
weka与其说一个软件,不如说是一个算法库,集成了主流的算法,并提供GUI以及CLI操作
那么除了在weka自身的GUI操作以为,用java项目怎么调用weka呢?
1我们安装后的weka目录里面有一个weka.jar
2将weka包导入Eclipse中的java工程(过程应该都明白吧,新建个lib文件夹,将weka.jar放进去,然后右键buildpath,之后就可以写代码调用了)
3调用例子:在main函数里调用
输出结果为
那么除了在weka自身的GUI操作以为,用java项目怎么调用weka呢?
1我们安装后的weka目录里面有一个weka.jar
2将weka包导入Eclipse中的java工程(过程应该都明白吧,新建个lib文件夹,将weka.jar放进去,然后右键buildpath,之后就可以写代码调用了)
3调用例子:在main函数里调用
import java.io.File; import weka.classifiers.Classifier; import weka.classifiers.bayes.NaiveBayes; import weka.core.Instances; import weka.core.converters.ArffLoader; public class Test { public static void main(String[] args) throws Exception{ Classifier m_classifier = new NaiveBayes(); //读取trainingdata File inputFile = new File("C://Users//jiayunqiang//Desktop//inspur//weka学习//数据//Arff//labor.arff");//训练语料文件 ArffLoader atf = new ArffLoader(); atf.setFile(inputFile); Instances instancesTrain = atf.getDataSet(); //读取testdata inputFile = new File("C://Users//jiayunqiang//Desktop//inspur//weka学习//数据//Arff//labor.arff");//测试语料文件 atf.setFile(inputFile); Instances instancesTest = atf.getDataSet(); // 读入测试文件 instancesTest.setClassIndex(16); //设置分类属性所在列(第一列为0号),instancesTest.numAttributes()可以取得属性总数 double sum = instancesTest.numInstances(),//测试语料实例数 right = 0.0f; instancesTrain.setClassIndex(16); m_classifier.buildClassifier(instancesTrain); //训练 for(int i = 0;i<sum;i++)//测试分类结果 { if(m_classifier.classifyInstance(instancesTest.instance(i))==instancesTest.instance(i).classValue())//如果预测值和答案值相等(测试语料中的分类列提供的须为正确答案,结果才有意义) { right++;//测试正确 } } System.out.println("NaiveBayes classification precision:"+(right/sum)); } }
输出结果为
NaiveBayes classification precision:0.9824561403508771
相关文章推荐
- C++ 通过 JNI 调用 Java 代码
- java 代码调用memcached服务
- C#代码调用Weka
- JNI Java调用c/c++代码 demo (用VS2010)
- JNI_最简单的Java调用C/C++代码
- jsp页面中js代码与java代码的相互调用
- Cocos2d-x中通过JNI进行C++调用Java代码
- Android Java和JavaScript代码相互调用
- 使用JNI进行Java与C/C++语言混合编程(2)--在C/C++中调用Java代码
- Mybatis通过@调用javal 类的静态代码和常量
- javaweb开发-js代码中keypress事件调用判断,取得keyCode值
- 存储过程之八-java代码调用oracle存储过程
- 从java层调用native层的函数,在ida中看伪C代码更直观的方法
- Android NDK开发(一)之java层调用C代码浅析
- [java]函数的递归调用--代码举例
- Android(java)学习笔记113:Android编写代码调用Vibrator震动功能(Bug:按下按钮button始终没有震动)
- 从 C/C++ 程序调用 Java 代码 (不是用JNI)
- java 调用c# web api 代码
- cocos2dx通过Jni调用Android的Java层代码(上)
- JNI技术2---本地代码反调用java类方法过程详解