Как настроить LIBSVM для Python
Я построил libsvm на Mac OS X с Make.
$ tar xzfv libsvm-3.17.tar.gz
$ cd libsvm-3.17
$ make
это построило различные двоичные файлы libsvm:
$ ls
COPYRIGHT heart_scale svm-predict.c svm-train.c tools
FAQ.html java svm-scale svm.cpp windows
Makefile matlab svm-scale.c svm.def
Makefile.win python svm-toy svm.h
README svm-predict svm-train svm.o
Я тоже связан с этим в /usr/local
:
$ ls -la /usr/local/
...
svm -> /usr/local/libsvm-3.17/
и добавил привязки Python к моему пути:
import sys
sys.path.append('/usr/local/svm/python')
но привязки Python не могут найти библиотеку "LIBSVM":
$ python test.py
Traceback (most recent call last):
File "test.py", line 8, in <module>
import svmutil
File "/usr/local/svm/python/svmutil.py", line 5, in <module>
from svm import *
File "/usr/local/svm/python/svm.py", line 22, in <module>
raise Exception('LIBSVM library not found.')
Exception: LIBSVM library not found.
может кто-нибудь сказать мне, как установить это? В python readme для libsvm единственное описание
Installation
============
On Unix systems, type
> make
The interface needs only LIBSVM shared library, which is generated by
the above command. We assume that the shared library is on the LIBSVM
main directory or in the system path.
что я упустил?
7 ответов
вместо того, чтобы проходить через libsvm для доступа к нему с помощью Python (я установил libsvm через MacPorts и import svmutil
fails), вы можете установить популярный scikit-learn пакет, который содержит оптимизированную версию libsvm с привязками Python.
установка очень проста с MacPorts: sudo port install py27-scikit-learn
(adapt py27
к любой версии Python, которую вы используете).
похоже на старую нить. Надеюсь, это поможет кому-то еще в будущем.
у меня была та же проблема. Решение
- Run
make
в каталоге libsvm-3.0 - Run
make
в каталоге libsvm-3.0/python
Если вы сделали только в папке libsvm-3.0, вы столкнетесь с этой проблемой. Сделайте это в обеих папках. Тогда все будет хорошо.
Если вам нужно решение не для MacPorts, см. эту страницу (особенно комментарий от Thanassis):
установка libsvm-3.0 для Python на OSX 10.6
несмотря на название поста, решение работало для меня на машине CentOS с python 2.7.
find_library в python просматривает только файлы с расширением .Итак. Для того, чтобы это работало правильно, вам нужно создать libsvm.Итак:
% ln-s libsvm.Итак.2 libsvm.так что
затем повторите попытку, она будет работать правильно.
вам не нужно использовать scikit learn для использования libSVM. У меня была такая же проблема при загрузке libsvm
модули через python. Я клонировал проект из github и запускал его из командной строки с помощью make
, и после установки среды я получил ту же ошибку.
я исправил проблему, установив libSVM через homebrew
:
brew install libsvm
это не включает конкретные двоичные файлы python, поэтому вам все равно придется клонировать и делать из github и настроить среду.
вы можете также попробовать использовать доморощенного установить libsvm как заварить установить libsvm,а затем вы можете открыть файл проекта и скопировать 'svmutil.py и svm.py файлы для проекта floder,то вы можете использовать команду 'от svmutil импорт *',и, возможно, все будет хорошо.