版本升级到 scikit-learn

Version upgrade to scikit-learn

我想对一些数据做 LDA,所以按照这个例子:

http://scikit-learn.org/stable/auto_examples/decomposition/plot_pca_vs_lda.html#example-decomposition-plot-pca-vs-lda-py

然而,在尝试时:

from sklearn.discriminant_analysis import LinearDiscriminantAnalysis

我遇到导入错误。嗯,我想这可能是一个新功能。所以我通过 conda 将 scikit-learn 从 0.15.2 更新到 0.17。但现在我什至无法导入 sklearn:

    import sklearn
RuntimeError: module compiled against API version a but this version of numpy is 9
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "//anaconda/lib/python2.7/site-packages/sklearn/__init__.py", line 57, in <module>
    from .base import clone
  File "//anaconda/lib/python2.7/site-packages/sklearn/base.py", line 9, in <module>
    from scipy import sparse
  File "//anaconda/lib/python2.7/site-packages/scipy/sparse/__init__.py", line 213, in <module>
    from .csr import *
  File "//anaconda/lib/python2.7/site-packages/scipy/sparse/csr.py", line 13, in <module>
    from ._sparsetools import csr_tocsc, csr_tobsr, csr_count_blocks, \
ImportError: numpy.core.multiarray failed to import

我尝试使用 pip 和 conda 更新 numpy 和 scipy 但无济于事。然后我尝试通过以下方式完全干净地重新安装 anaconda:

rm -rf ~/anaconda

随后从 http://docs.continuum.io/anaconda/install#anaconda-install

下载 .pkg

我仍然遇到同样的错误。这是我的 OS 和包裹详情:

Mac OSX 10.5.2
bash-3.2$ conda -V
conda 3.18.6

scipy==0.16.0
numpy==1.9.1
scikit-learn==0.17

最后一个通过 pip freeze,因为我无法导入它。我要疯了。非常感谢任何帮助。

尝试:

conda install numpy=1.10.1

我以前遇到过 module compiled against API version a but this version of numpy is 9 错误,这为我解决了。