web-dev-qa-db-ja.com

Scikit-Learnをインポートできません

Linux Mint 12にscikit-learnをインストールしようとしましたが、失敗しました。 http://pypi.python.org/pypi/scikit-learn/ からパッケージをダウンロードし、

Sudo python2.7 setup.py install

次に、ディレクトリをホームに変更し、python2.7Shellを起動しました。 sklearnをインポートすると、次のようになります。

>>> import sklearn
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.dtype size changed, may indicate binary incompatibility
    from ckdtree import *
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning:
numpy.ndarray size changed, may indicate binary incompatibility
    from ckdtree import *
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:7: RuntimeWarning: 
numpy.ufunc size changed, may indicate binary incompatibility
    from ckdtree import *
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.dtype size changed, may indicate binary incompatibility
    from qhull import *
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning: 
numpy.ndarray size changed, may indicate binary incompatibility
    from qhull import *
/usr/lib/python2.7/dist-packages/scipy/spatial/__init__.py:8: RuntimeWarning:  
numpy.ufunc size changed, may indicate binary incompatibility
    from qhull import *

問題はscipyの空間にあると思います。これは私がするとき

>>> from scipy import spatial

Scikit-learnの場合と同じエラーが発生します。

助けてください。ありがとうございました。

編集:新しいエラー。

>>> import sklearn
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux-
x86_64.Egg/sklearn/__init__.py", line 17, in <module>
    from .base import clone
  File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux-
x86_64.Egg/sklearn/base.py", line 11, in <module>
    from .metrics import r2_score
  File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux-
x86_64.Egg/sklearn/metrics/__init__.py", line 6, in <module>
    from .metrics import confusion_matrix, roc_curve, auc, precision_score, \
  File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux-  
x86_64.Egg/sklearn/metrics/metrics.py", line 17, in <module>
    from ..utils import check_arrays
  File "/usr/local/lib/python2.7/dist-packages/scikit_learn-0.12_git-py2.7-linux-
x86_64.Egg/sklearn/utils/__init__.py", line 9, in <module>
    from .murmurhash import murmurhash3_32
  File "numpy.pxd", line 174, in init sklearn.utils.murmurhash (sklearn/utils
/murmurhash.c:4776)
ValueError: numpy.ndarray has the wrong size, try recompiling
8
Rishi

よくわかりませんが、 this によると、numpyに依存するパッケージが特定のバージョン(または特定のプラットフォーム)をターゲットにコンパイルされ、そのパッケージが別のバージョンにインストールされると、エラーが発生します環境。これら2つのパッケージをどのようにインストールしましたか? (numpy and scipy)

両方をアンインストールしてから、 pipを使用 または ソースから のいずれかでSciPyを再インストールすることをお勧めします。

10
mgibsonbr

私は今日OSX ElCapitanでこれに遭遇しました。残念ながら、再インストール/インストールは機能しませんでした。問題は、OS Xにネイティブなnumpyインストールが、pipによってインストールされるものよりも優先されるということでした。

私は次のガイダンスに従うことでこれを解決することができました: https://Apple.stackexchange.com/a/22316

特に、pythonパスを修正するアプローチを使用して、OS Xネイティブライブラリよりもpipライブラリを優先しました。

_fix_mac_path.pth_に_/Library/Python/2.7/site-packages_という名前のファイルを作成します。このファイルには次のものがあります。

import sys; std_paths=[p for p in sys.path if p.startswith('/System/')]; sys.path=[p for p in sys.path if not p.startswith('/System/')]+std_paths

1
pixel_warrior

私はまったく同じ問題を抱えていました。 http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn から64ビットウィンドウ用のWindowsバイナリをインストールすることで、なんとか動作させることができました。これがあなたのために働くことを願っています

0
user2558963