web-dev-qa-db-ja.com

Python)のLIBSVMをセットアップする方法

私はMakeを使ってMacOS Xで libsvm をビルドしました。

$ 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.

誰かがこれを設定する方法を教えてもらえますか? libsvmのpython readme)での唯一の説明は

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.

何が足りないのですか?

8
David Williams

Python(MacPortsを介してlibsvmをインストールしました。import svmutil失敗)、人気のある scikit-learn パッケージをインストールすることをお勧めします。これには libsvm with Python bindings

インストールは非常に簡単です MacPortsSudo port install py27-scikit-learn (適応する py27 Python使用する)のバージョンに関係なく。

9
Eric O Lebigot

古いスレッドのようです。それが将来誰か他の人に役立つことを願っています。

私も同じ問題を抱えていました。解決策は

  1. Libsvm-3.0ディレクトリでmakeを実行します
  2. Libsvm-3.0/pythonディレクトリでmakeを実行します

Libsvm-3.0フォルダーでのみ行った場合、この問題が発生します。両方のフォルダでそれを行います。その後、それは正常に動作します。

3
Raja

MacPorts以外のソリューションが必要な場合は、次のページを参照してください(特にThanassisからのコメント)。

libsvm-3.0 for Python on OSX 10.6 をインストールしています

投稿のタイトルにもかかわらず、ソリューションはpython 2.7のCentOSマシンで機能しました。

2
Owen

find_library in pythonは、拡張子が.soのファイルのみを参照しています。これが正しく機能するためには、libsvm.soを作成する必要があります。

%ln -s libsvm.so.2 libsvm.so

次に、これを再試行してください。正しく機能します。

2
MagicalMachines

LibSVMを使用するためにscikitlearnを使用する必要はありません。 Pythonを介してlibsvmモジュールをロードするときに同じ問題が発生しました。 githubからプロジェクトのクローンを作成し、コマンドラインからmakeを使用してビルドを実行しましたが、環境を設定した後、同じエラーが発生しました。

homebrewからlibSVMをインストールすることで問題を修正しました。

brew install libsvm

これにはpython特定のバイナリが含まれていないため、githubからクローンを作成して作成し、環境をセットアップする必要があります。

1
syssel

homebrewを使用して「brewinstalllibsvm」のようにlibsvmをインストールすることもできます。次に、プロジェクトファイルを開いて、「svmutil.py」ファイルと「svm.py」ファイルをプロジェクトフローダーにコピーします。次に、コマンド 'from svmutil import *'、そして多分それは大丈夫でしょう。

0
zhen wang

/ pythonに移動して、.so.1ファイルを生成する必要があります

0
Coderzelf