我正在运行Max OS X 10.7 Lion,我想从命令行使用WEKA和LibSVM.我收到此错误:
Problem evaluating classifier: libsvm classes not in CLASSPATH!
Run Code Online (Sandbox Code Playgroud)

我在这里找到了LibSVM库.我需要将它添加到我的Java类路径中,以便WEKA可以找到它.下载包含几个文件,如下所示.我不知道如何将它们添加到我的Java类路径中.

我试图在WEKA中使用LibSVM分类器,因为它比SMO更适合我.我也不确定这是否意味着Java类路径,或者它是否特定于WEKA.我也不知道从哪里获取这些课程.任何帮助表示赞赏.
Dan*_*ber 15
这是在OS X上向WEKA添加LibSVM支持的另一种非常简单的方法(无需命令行):
<string>$JAVAROOT/weka.jar</string>为<string>$JAVAROOT/weka.jar:$JAVAROOT/libsvm.jar</string>(您还可以在此处调整堆大小)chl*_*chl 11
您可以输入libsvm.jar您选择的文件夹,例如~/Library/Java,然后从命令行运行weka,如下所示:
$ java -Xmx512m -classpath /Users/chl/weka/weka.jar:/Library/Java/libsvm.jar weka.gui.GUIChooser
Run Code Online (Sandbox Code Playgroud)
您还可以更新您的CLASSPATH位置以反映*.jar可以找到文件的位置.我有以下内容.profile:
export CLASSPATH="/Users/chl/weka/weka.jar:~/Library/Java/*"
Run Code Online (Sandbox Code Playgroud)
(您需要更换/Users/chl/weka以反映您的正确位置weka.jar;通常,如果您下载了源文件,则它位于目录的顶部; weka-3-7-3.app/Contents/Resources/Java/如果您使用捆绑的应用程序,则位于目录的顶部.)
这样,启动weka GUI的第一个命令简化为
$ java -classpath $CLASSPATH:weka.jar:libsvm.jar weka.gui.GUIChooser
Run Code Online (Sandbox Code Playgroud)
不要使用,java -jar因为它会覆盖CLASSPATH,如这里所讨论的.
我也有一个别名.bash_aliases来包装所有东西:
alias weka='java -Xmx512m -classpath $CLASSPATH:weka.jar'
Run Code Online (Sandbox Code Playgroud)
为了从命令行使用weka,例如
$ weka weka.classifiers.trees.RandomTree -t iris.arff -i
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14908 次 |
| 最近记录: |