Как добавить класс LibSVM к пути класса WEKA на Mac

Я запускаю Max OS X 10.7 Lion, и я хочу использовать WEKA с LibSVM из командной строки. Я получаю эту ошибку:

Problem evaluating classifier: libsvm classes not in CLASSPATH!

Error I am receiving in WEKA

Я нашел библиотеку LibSVM здесь. Мне нужно добавить его в мой путь к Java, чтобы WEKA мог его найти. Загрузка содержит несколько файлов, показанных ниже. Я не знаю, как добавить их в мой путь к классам Java.

Files in LibSVM download that need to be added to classpath

Я пытаюсь использовать классификатор LibSVM в WEKA, потому что для меня предпочтительнее SMO. Я также не уверен, что это означает путь класса Java или если он специфичен для WEKA. Я также не знаю, где взять эти классы. Любая помощь приветствуется.

Ответ 1

Вот еще один чрезвычайно простой способ добавить поддержку LibSVM в WEKA на OS X (без командной строки):

  • Загрузить LibSVM из здесь
  • Перейдите в папку /Applications на вашем Mac (папка, где установлено приложение Weka)
  • Щелкните правой кнопкой мыши на Weka > Выберите "Показать содержимое пакета"
  • Скопировать libsvm.jar в /Applications/Weka.app/Contents/Resources/Java
  • открыть /Applications/Weka.app/Contents/Info.plist в вашем любимом текстовом редакторе
  • измените <string>$JAVAROOT/weka.jar</string> на <string>$JAVAROOT/weka.jar:$JAVAROOT/libsvm.jar</string> (вы также можете отрегулировать размер кучи)
  • Сохранить и запустить weka

Ответ 2

Вы можете поместить 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

Ответ 3

Загрузите файлы libsvm и пройдите мимо них в рабочий каталог weka. Теперь перейдите в Панель управления- > Система- > Предварительная настройка системы- > и измените переменную окружения, выберите переменную Class_Path и скопируйте весь этот путь вместе с именем файла. то есть C:\Program Files\Weka\Libsvm.jar; и нажмите ok-ok-ok и перезапустите weka

Ответ 4

1) Скопируйте libsvm.jar найденный здесь в папку Java в содержимом пакета Weka.app:

<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"

Примечание: вы должны заменить <path-to-Weka.app> на свой собственный путь. Он может выглядеть как /Applications/JavaApp/weka-3-6-11-oracle-jvm.app.