Java程序通过weka调用libsvm的方法

 

在《eclipse下使用java调用weka》的基础上,使用eclipse下使用java调用weka》中介绍的方法添加libsvm的两个jar包(libsvm.jarwlsvm.jar)及wekajar包,这三个包可以从这里下载: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,eclipse,jar,import,classification)