在 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 分类器和堆大小的主要内容,如果未能解决你的问题,请参考以下文章
使用 LibSVM 的 Java 代码中的 Weka 错误“无法处理数字类”