在Windows上使用AMD64版本的Scipy调用scikit-learn时出错

Blu*_*rin 3 python scipy python-2.7 scikit-learn

我在这一行收到此错误:

from sklearn.ensemble import RandomForestClassifier
Run Code Online (Sandbox Code Playgroud)

错误日志是:

Traceback (most recent call last):
  File "C:\workspace\KaggleDigits\KaggleDigits.py", line 5, in <module>
    from sklearn.ensemble import RandomForestClassifier
  File "C:\Python27\lib\site-packages\sklearn\ensemble\__init__.py", line 7, in <module>
    from .forest import RandomForestClassifier
  File "C:\Python27\lib\site-packages\sklearn\ensemble\forest.py", line 47, in <module>
    from ..feature_selection.selector_mixin import SelectorMixin
  File "C:\Python27\lib\site-packages\sklearn\feature_selection\__init__.py", line 7, in <module>
    from .univariate_selection import chi2
  File "C:\Python27\lib\site-packages\sklearn\feature_selection\univariate_selection.py", line 13, in <module>
    from scipy import stats
  File "C:\Python27\lib\site-packages\scipy\stats\__init__.py", line 320, in <module>
    from .stats import *
  File "C:\Python27\lib\site-packages\scipy\stats\stats.py", line 241, in <module>
    import scipy.special as special
  File "C:\Python27\lib\site-packages\scipy\special\__init__.py", line 529, in <module>
    from ._ufuncs import *
ImportError: DLL load failed: The specified module could not be found.
Run Code Online (Sandbox Code Playgroud)

安装后:

  • 适用于Windows x86-64的Python 2.7.4
  • scipy-0.12.0.win-amd64-py2.7.exe(从这里开始)
  • numpy-unoptimized-1.7.1.win-amd64-py2.7.exe(从这里开始)
  • scikit-learn-0.13.1.win-amd64-py2.7.exe(从这里开始)

谁知道为什么会这样,以及如何解决?

Blu*_*rin 5

正如Christoph Gohlke在他的下载页面上提到的那样,从他的网站下载的scikit-learn需要Numpy-MKL.因此我使用Numpy-Unoptimized犯了一个错误.

与他的Numpy-MKL的链接静态链接到英特尔的MKL,因此您不需要任何额外的下载(无需下载英特尔的MKL).