Как добавить класс 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
.