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

在《在eclipse下使用java调用weka》的基础上,使用《在eclipse下使用java调用weka》中介绍的方法添加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的方法

相关文章:

你感兴趣的文章:

标签云: