Java程序通过weka调用libsvm的方法
2014-12-29 23:47
357 查看
http://blog.csdn.net/felomeng/article/details/4688414
使用上一节中介绍的方法添加libsvm的两个jar包(libsvm.jar和wlsvm.jar)及weka的jar包,这三个包可以从这里下载:http://download.csdn.net/source/1749854。
然后在import诸语句下添加:
import wlsvm.WLSVM;
然后把原代码中的
Classifier m_classifier = new J48();
改为:
Classifier m_classifier = new WLSVM();
然后运行就是使用SVM分类了,当然,最后把输出句的
System.out.println("J48 classification precision:"+(right/sum));
改为:
System.out.println("");
System.out.println("SVM classification precision:"+(right/sum));
Libsvm有一个问题就是内存占用比较大,经常会提示如下错误:
java.lang.OutOfMemoryError: Java heap space
在内存不足的情况下的确无法解决,但内存充足的话,可以配置一下程序所能占用的内存大小参数。设置方法:
1. 在Package Explorer中选中调用libsvm的类;
2. 在菜单中单击Run->run configuration…->右面的(x=)arguments页中的VM arguments文本框中输入-Xmx1024M。//表示最大可使用1024M内存,大家可以根据实际情况设置。
使用上一节中介绍的方法添加libsvm的两个jar包(libsvm.jar和wlsvm.jar)及weka的jar包,这三个包可以从这里下载:http://download.csdn.net/source/1749854。
然后在import诸语句下添加:
import wlsvm.WLSVM;
然后把原代码中的
Classifier m_classifier = new J48();
改为:
Classifier m_classifier = new WLSVM();
然后运行就是使用SVM分类了,当然,最后把输出句的
System.out.println("J48 classification precision:"+(right/sum));
改为:
System.out.println("");
System.out.println("SVM classification precision:"+(right/sum));
Libsvm有一个问题就是内存占用比较大,经常会提示如下错误:
java.lang.OutOfMemoryError: Java heap space
在内存不足的情况下的确无法解决,但内存充足的话,可以配置一下程序所能占用的内存大小参数。设置方法:
1. 在Package Explorer中选中调用libsvm的类;
2. 在菜单中单击Run->run configuration…->右面的(x=)arguments页中的VM arguments文本框中输入-Xmx1024M。//表示最大可使用1024M内存,大家可以根据实际情况设置。
相关文章推荐
- Java程序通过weka调用libsvm和liblinear的方法
- Java程序通过weka调用libsvm的方法
- Java程序通过weka调用libsvm和liblinear的方法
- C++JAVA程序调用weka聚类算法的方法
- linux下通过eclipse开发用java调用c程序的方法
- C++/JAVA程序调用weka聚类算法的方法 推荐
- 【Linux】shell调用Java程序main方法通过crontab定时执行
- 10,JAVA通过JNI调用本地C语言方法
- JAVA通过JNI调用本地C语言方法
- [Java] - 通过反射调用对象的方法
- JAVA通过JNI调用本地C语言方法
- PHP通过php-java-bridge 调用Java类中方法
- JAVA通过JNI调用本地C语言方法
- 有关java通过反射机制调用类中自有方法的问题
- 通过Java反射调用方法
- JAVA通过JNI调用本地C语言方法
- JAVA通过JNI调用本地C语言方法
- java中通过jacob调用word方法
- JAVA通过JNI调用本地C语言方法
- Java_反射应用_通过Java反射调用方法