Weka libsvm在系统格式之后不在classpath中

时间:2016-01-30 04:45:22

标签: weka libsvm

使用weka SVM时,错误是“libsvm不在类路径中”。 我通过环境变量设置了类路径,但错误仍然存​​在。我使用weka svm一年进行数据分类,但我还没有遇到过这种问题。在格式化系统后安装weka 3.6.12时出现此问题。我使用的是Windows 7 32位PC。

2 个答案:

答案 0 :(得分:0)

在weka GUI中打开SimpleCLI并执行以下命令。

java weka.core.SystemInfo

请查找以下值

java.class.path: ./weka.jar; 
... 
weka.version: 3.6.13

正如您所看到的,我的类路径中也没有libsvm.jar。 我必须使用http://weka.wikispaces.com/LibSVM中解释的方法之一。

以下段落取自(http://weka.wikispaces.com/LibSVM疑难解答)

故障排除

  • 不在CLASSPATH中的libsvm类!◦检查libsvm.jar是否真的在CLASSPATH中。在SimpleCLI中执行以下命令: java weka.core.SystemInfo 属性java.class.path必须列出libsvm.jar。如果已列出,请检查路径是否正确。 如果您在Windows上并且在那里找到%CLASSPATH%,请参阅下一个要点以解决此问题。
  • 在Windows上,如果将libsvm.jar添加到CLASSPATH环境变量中,则仍然会发生Weka弹出libsvm类不在CLASSPATH中的错误消息。这可能发生在Windows 2000和XP上,并且%CLASSPATH%在启动Weka时不会扩展到其实际值。您可以使用SimpleCLI检查Weka启动的当前CLASSPATH(请参阅上一个要点)。如果列出了%CLASSPATH%,则系统会出现同样的问题。这篇Wekalist帖子解释了如何将mysql.jar显式添加到RunWeka.ini(对于libsvm.jar也是如此)。 注意:反斜杠必须被转义,不仅是一次,而是两次(它们被Java解释两次!)。换句话说,你不得不使用四个:C:\ some \ where然后变成C:\\ some \\ where。

答案 1 :(得分:0)

写一个为你设置一切的启动文件。

该文件可以被称为weka.bat并且应该看起来像这样(未经测试 - 根据需要进行调整):

WEKA_HOME=c:\weka
set WEKA_JAR=%WEKA_HOME%\weka.jar
set PATH=$WEKA_HOME;$PATH
set CP="%WEKA_JAR%;%WEKA_HOME%\lib\libsvm.jar"
set DIR=c:\weka\data
cd "%DIR%"
set WEKA_HOME=%DIR%
rem start small GUI Chooser
java -cp $CP weka.gui.GUIChooser 2 >>c:\weka\weka.log

这假设您将weka安装到名为c:\ weka的目录中, 子目录\ data和\ lib存在,并且已将libsvm.jar复制到\ lib子目录中。