如何在Mac上将LibSVM类添加到WEKA类路径
我正在运行Max OS X 10.7 Lion,我想从命令行使用WEKA和LibSVM。 我收到此错误:
Problem evaluating classifier: libsvm classes not in CLASSPATH!
我在这里找到了LibSVM库。 我需要将它添加到我的Java类路径中,以便WEKA可以找到它。 下载包含几个文件,如下所示。 我不知道如何将它们添加到我的Java类路径中。
我试图在WEKA中使用LibSVM分类器,因为它比SMO更适合我。 我也不确定这是否意味着Java类路径或者它是否特定于WEKA。 我也不知道从哪里获取这些课程。 任何帮助表示赞赏。
这是在OS X上向WEKA添加LibSVM支持的另一种非常简单的方法(无需命令行):
- 从这里下载LibSVM
- 转到Mac上的/ Applications文件夹(安装Weka应用程序的文件夹)
- 右键单击Weka>选择“显示包内容”
- 将libsvm.jar复制到/Applications/Weka.app/Contents/Resources/Java
- 在您喜欢的文本编辑器中打开/Applications/Weka.app/Contents/Info.plist
- 将
更改为$JAVAROOT/weka.jar
(您还可以在此处调整堆大小)$JAVAROOT/weka.jar:$JAVAROOT/libsvm.jar - 保存并启动weka
您可以将libsvm.jar
放在您选择的文件夹中,例如~/Library/Java
,然后从命令行运行weka,如下所示:
$ java -Xmx512m -classpath /Users/chl/weka/weka.jar:/Library/Java/libsvm.jar weka.gui.GUIChooser
您还可以更新CLASSPATH
以反映可以找到*.jar
文件的位置。 我的.profile
有以下内容:
export CLASSPATH="/Users/chl/weka/weka.jar:~/Library/Java/*"
(您需要替换/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
不要使用java -jar
因为它将覆盖CLASSPATH
,如此处所述。
我的.bash_aliases
也有一个别名用于包装所有内容:
alias weka='java -Xmx512m -classpath $CLASSPATH:weka.jar'
为了从命令行使用weka,例如
$ weka weka.classifiers.trees.RandomTree -t iris.arff -i
下载libsvm文件并将它们放在weka的工作目录中。 现在转到控制面板 – >系统 – >高级系统设置 – >和编辑环境变量,选择Class_Path变量并复制所有路径以及文件名。 即C:\ Program Files \ Weka \ Libsvm.jar; 然后单击ok-ok-ok并重新启动weka
1)将libsvm.jar
复制到libsvm.jar
的包内容中的Java文件夹中:
/Weka.app/Contents/Java/
2)将此行添加到.bash_profile或类似的配置文件中:
export CLASSPATH="/Weka.app/Contents/Java/weka.jar:/Weka.app/Contents/Java/libsvm.jar"
注意:您应该用自己的路径替换
。 它看起来像/Applications/JavaApp/weka-3-6-11-oracle-jvm.app
。