在 Weka 中使用 libsvm 分类器和堆大小

Posted

技术标签:

【中文标题】在 Weka 中使用 libsvm 分类器和堆大小【英文标题】:using libsvm classifier in Weka and heap size 【发布时间】:2012-07-24 04:51:09 【问题描述】:

使用 WEKA 3.6 时出现问题

我想使用 libsvm.jar,但是当我使用以下命令提示符运行 weka 时出现“不在类路径中”的错误:

java -Xmx900m -jar Weka.jar

请注意,当我在正常模式下(使用初始堆大小且不使用命令提示符)运行 weka 时,我们使用 libsvm 库。 另外,我用的是windows 7-32bit。

请帮帮我,我的时间不多了。 谢谢

【问题讨论】:

【参考方案1】:

找出libsvm.jar 的位置并将其包含在类路径中,例如

java -Xmx900m -classpath '.:/usr/share/java/libsvm.jar' -jar Weka.jar

libsvm.jar 的实际位置取决于您的系统。

【讨论】:

谢谢,我已经更新了Windows中的CLASSPATH(环境变量),它的值是:>'.;C:\Weka3-6\wlsvm.jar;C:\Weka3-6\libsvm。 jar' 所以我可以在运行 weka 时使用 libsvm 库而不增加堆,但是,我使用您的代码如下:>java -Xmx900m -classpath 'C:\Weka3-6\libsvm.jar' -jar 'C:\ Weka3-6\Weka.jar' 但我收到以下令人失望的错误:> 线程“主”java.lang.NoClassDefFoundError 中的异常:文件由:java.lang.ClassNotFoundException:java.net.URLClassLoader$1.run 中的文件(未知来源)找不到主类...:Files.Program将退出 尝试将当前路径也添加到类路径中:'.;/path/to/libsvm' 感谢您的快速回复,我将 libsvm.jar 复制到 java 和 weka3-6 的 ./bin 目录中。当前路径是 C:\Weka3-6\\ 并且“C:\Weka3-6\libsvm.jar”在 CLASSPATH 中。那么,我应该添加另一条路径吗?... 如果 libsvm jar 和 weka jar 的路径在类路径中,它应该可以工作。 谢谢,我想我应该改变我的窗口并再次安装java它可能会解决这个问题【参考方案2】:

另一个答案对我不起作用。根据Weka documentation,在类路径中包含 LibSVM 需要不使用“-jar weka.jar”选项。指定 -jar 会覆盖您尝试设置的类路径。

改为使用

java -Xmx900m -classpath $CLASSPATH:weka.jar:libsvm.jar weka.gui.GUIChooser

【讨论】:

以上是关于在 Weka 中使用 libsvm 分类器和堆大小的主要内容,如果未能解决你的问题,请参考以下文章

带有 IKVM 的 C# 中 Weka 的 LIbSVM

使用 LibSVM 的 Java 代码中的 Weka 错误“无法处理数字类”

Weka:分类器和 ReplaceMissingValues

如何在 Weka 分类器中使用 svm?

在 Weka 中查找实例分类的概率

如何在 weka 中使用 libsvm