Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Mac上向WEKA类路径添加LibSVM类_Java_Macos_Weka - Fatal编程技术网

Java 如何在Mac上向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类路径还是

我正在运行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。我也不知道从哪里可以得到这些课程。非常感谢您的帮助。

您可以将
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 然后重新启动weka

    1)拷贝
    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都很满意。