在做教程时使用sklearn运行ImportError

时间:2013-06-26 19:03:42

标签: python scikit-learn importerror

您好我正在尝试按照sklearn提供的机器学习101教程,我一直遇到错误。

我从这里下载了最多的sklearn版本:https://github.com/scikit-learn/scikit-learn

我运行Windows

python:2.7.5(32位)

scipy:.12

numpy:1.7.0

当我跑步时

from sklearn.linear_model import LinearRegression
model = LinearRegression()

我得到了

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-7-9f5ae92552bb> in <module>()
----> 1 from sklearn.linear_model import LinearRegression
      2 model = LinearRegression()

C:\WinPython-32bit-2.7.5.1\python-2.7.5\lib\site-packages\sklearn\linear_model\__init__.py in <module>()
     10 # complete documentation.
     11 
---> 12 from .base import LinearRegression
     13 
     14 from .bayes import BayesianRidge, ARDRegression

C:\WinPython-32bit-2.7.5.1\python-2.7.5\lib\site-packages\sklearn\linear_model\base.py in <module>()
     28 from ..utils.sparsefuncs import (csc_mean_variance_axis0,
     29                                  inplace_csc_column_scale)
---> 30 from .cd_fast import sparse_std
     31 
     32 

ImportError: No module named cd_fast

基于此:https://github.com/scikit-learn/scikit-learn/issues/1202

blas可能是个错误?但这是scipy,我之前遇到过问题,但我刚刚更新了scipy,它应该没问题。

请帮忙!提前致谢

2 个答案:

答案 0 :(得分:3)

你忘了编译。在源目录中运行python setup.py install,或python setup.py build_ext --inplace,或获取二进制分发。

(大部分scikit-learn实际上是用Cython,C或C ++实现的。你需要C和C ++编译器才能从源代码安装它。)

答案 1 :(得分:0)

从不同的问题复制粘贴答案: 如果您使用http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn中的二进制文件。它们需要numpy-MKL,如下载页面所示。官方的numpy二进制文件不起作用。