【问题标题】:How to add LibSVM class to WEKA classpath on a Mac如何在 Mac 上将 LibSVM 类添加到 WEKA 类路径
【发布时间】:2012-03-04 02:54:27
【问题描述】:

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

Problem evaluating classifier: libsvm classes not in CLASSPATH!

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

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

【问题讨论】:

  • LibSVM 必须下载、提取并添加到类路径中,以便您的 java 程序可以使用它。有关如何将其添加到类路径的说明,请参阅 weka.wikispaces.com/LibSVM。如果这些指令太高级,那么你需要暂停这个机器学习业务,直接回到 Java 编程基础的 Java 初学者演练:homeandlearn.co.uk/java/java.html 就是这些:“在 23.7 分钟内学习 Java!”有标题的书籍告诉人们,他们可以在一个小时内成为 Java 专家,而实际上它更接近 5 年。
  • WEKA 是一个 GUI 应用程序。当时我正在使用它,因为我 不需要 需要了解 Java 才能使用它(据称)。这些天来,我对 Python(NLTK 和 scikit-learn)和 R 非常满意。

标签: java macos weka


【解决方案1】:

您可以将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 GUI 的第一个命令就简化为

$ java -classpath $CLASSPATH:weka.jar:libsvm.jar weka.gui.GUIChooser

不要使用java -jar,因为它会覆盖CLASSPATH,正如here所讨论的那样。

我的.bash_aliases 中还有一个别名用于包装所有这些东西:

alias weka='java -Xmx512m -classpath $CLASSPATH:weka.jar'

为了在命令行中使用 weka,例如

$ weka weka.classifiers.trees.RandomTree -t iris.arff -i

【讨论】:

  • 谢谢!我今晚会试试这个(如果可行,请将其标记为已接受的答案)。再次感谢,
  • @DanO'Day 您有机会尝试上述方法吗?有效果吗?
  • 我很抱歉没有回到这个话题。是的,这很好用!谢谢,
【解决方案2】:

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

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

【讨论】:

  • 感谢您的解决,但我有一个问题是包括这个“评估分类器 rand”。我该如何处理?
【解决方案3】:

下载 libsvm 文件并将它们粘贴到 weka 的工作目录中。 现在转到控制面板->系统->高级系统设置->并编辑环境变量,选择 Class_Path 变量并复制所有路径以及文件名。 即 C:\Program Files\Weka\Libsvm.jar; 然后点击确定-确定-确定 并重启weka

【讨论】:

    【解决方案4】:

    1)将libsvm.jar找到here复制到Weka.app的包内容中的Java文件夹中:

    <path-to-Weka.app>/Weka.app/Contents/Java/
    

    2) 将此行添加到您的 .bash_profile 或类似配置文件中:

    export CLASSPATH="<path-to-Weka.app>/Weka.app/Contents/Java/weka.jar:<path-to-Weka.app>/Weka.app/Contents/Java/libsvm.jar"
    

    注意:你应该用你自己的路径替换&lt;path-to-Weka.app&gt;。它可能看起来像/Applications/JavaApp/weka-3-6-11-oracle-jvm.app

    【讨论】:

      猜你喜欢
      • 2015-08-29
      • 2016-05-07
      • 2016-07-23
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 2012-08-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多