Java 如何在Mac上向WEKA类路径添加LibSVM类
我正在运行Max OS X 10.7 Lion,我想从命令行使用WEKA和LibSVM。我得到这个错误:Java 如何在Mac上向WEKA类路径添加LibSVM类,java,macos,weka,Java,Macos,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类路径还是
Problem evaluating classifier: libsvm classes not in CLASSPATH!
我找到了LibSVM库。我需要将它添加到我的Java类路径中,以便WEKA能够找到它。下载包含几个文件,如下所示。我不知道如何将它们添加到我的Java类路径中
我试图在WEKA中使用LibSVM分类器,因为它比SMO更适合我。我也不确定这是指Java类路径还是特定于WEKA。我也不知道从哪里可以得到这些课程。非常感谢您的帮助。您可以将
libsvm.jar
放在您选择的文件夹中,例如~/Library/Java
,然后从命令行运行weka,如下所示:
$ java -Xmx512m -classpath /Users/chl/weka/weka.jar:/Library/Java/libsvm.jar weka.gui.GUIChooser
您还可以更新类路径
,以反映可以找到*.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
,因为它将覆盖前面讨论过的类路径
我的中还有一个别名。bash\u别名
用于包装所有这些东西:
alias weka='java -Xmx512m -classpath $CLASSPATH:weka.jar'
为了从命令行使用weka,例如
$ weka weka.classifiers.trees.RandomTree -t iris.arff -i
下面是在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文件并将其保存在weka的工作目录中。
现在转到控制面板->系统->高级系统设置->并编辑环境变量,选择Class_Path变量并复制所有路径以及文件名。
i、 e.C:\ProgramFiles\Weka\Libsvm.jar;
然后单击ok
然后重新启动weka1)拷贝libsvm.jar
,该拷贝位于weka.app包内容的Java文件夹中:
<path-to-Weka.app>/Weka.app/Contents/Java/
/Weka.app/Contents/Java/
2) 将此行添加到.bash_配置文件或类似配置文件:
export CLASSPATH="<path-to-Weka.app>/Weka.app/Contents/Java/weka.jar:<path-to-Weka.app>/Weka.app/Contents/Java/libsvm.jar"
export CLASSPATH=“/Weka.app/Contents/Java/Weka.jar:/Weka.app/Contents/Java/libsvm.jar”
注意:您应该用自己的路径替换
。它可能看起来像/Applications/JavaApp/weka-3-6-11-oracle-jvm.app
谢谢!今晚我将尝试这个方法(如果可行的话,将其标记为可接受的答案)。再次感谢,@DanO'Day您是否有机会尝试上述内容。那有用吗?我很抱歉没有回到这个话题。是的,这很有效!谢谢,谢谢你的解决,但我有一个问题是包括这一个“评估分类器兰德”。如何处理它?必须下载、提取LibSVM并将其添加到类路径中,以便java程序可以使用它。有关如何将其添加到类路径的说明,请参阅。如果这些指令太高,那么您需要暂停机器学习业务,直接回到Java编程基础上的Java初学者演练:都是这样的:“在23.7分钟内学习Java!”有标题的书籍教会人们,他们可以在一小时内成为Java专家,实际上是近5年了。WEKA是一个GUI应用程序。当时我正在使用它,因为我不需要了解Java就可以使用它(据称)。这些天我对Python(NLTK和scikit)和R都很满意。