如何在Mac上将LibSVM类添加到WEKA类路径

我正在运行Max OS X 10.7 Lion,我想从命令行使用WEKA和LibSVM。 我收到此错误:

Problem evaluating classifier: libsvm classes not in CLASSPATH! 

我在WEKA收到的错误

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

LibSVM下载中需要添加到classpath的文件

我试图在WEKA中使用LibSVM分类器,因为它比SMO更适合我。 我也不确定这是否意味着Java类路径或者它是否特定于WEKA。 我也不知道从哪里获取这些课程。 任何帮助表示赞赏。

这是在OS X上向WEKA添加LibSVM支持的另一种非常简单的方法(无需命令行):

  1. 从这里下载LibSVM
  2. 转到Mac上的/ Applications文件夹(安装Weka应用程序的文件夹)
  3. 右键单击Weka>选择“显示包内容”
  4. 将libsvm.jar复制到/Applications/Weka.app/Contents/Resources/Java
  5. 在您喜欢的文本编辑器中打开/Applications/Weka.app/Contents/Info.plist
  6. $JAVAROOT/weka.jar更改为$JAVAROOT/weka.jar:$JAVAROOT/libsvm.jar (您还可以在此处调整堆大小)
  7. 保存并启动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