sklearn 0.17.1: ImportError: cannot import name inplace_column_scale

sklearn 0.17.1: ImportError: cannot import name inplace_column_scale

我的 sklearn 之前运行良好,在安装和更新了几个其他包之后,我无法从 sklearn 导入任何模型。

版本:

Python 2.7.12
Anaconda 2.4.1 (x86_64)
sklearn: 0.17.1 (downgrade from 0.18) spicy: 0.18.1

我尝试过的措施:

  1. restart the shell---> same error

  2. uninstall sklearn, and reinstall it (the newest version is 0.18), downgrade it to 0.17--> same error

  3. install sklearn and keep the version 0.18 -->still error

我的代码:

from sklearn import svm

错误

Traceback (most recent call last):

  File "<ipython-input-1-fe795c4388c4>", line 3, in <module>
    from sklearn import svm

  File "//anaconda/lib/python2.7/site-packages/sklearn/svm/__init__.py", line 13, in <module>
    from .classes import SVC, NuSVC, SVR, NuSVR, OneClassSVM, LinearSVC, \

  File "//anaconda/lib/python2.7/site-packages/sklearn/svm/classes.py", line 4, in <module>
    from .base import _fit_liblinear, BaseSVC, BaseLibSVM

  File "//anaconda/lib/python2.7/site-packages/sklearn/svm/base.py", line 11, in <module>
    from ..preprocessing import LabelEncoder

  File "//anaconda/lib/python2.7/site-packages/sklearn/preprocessing/__init__.py", line 8, in <module>
    from .data import Binarizer

  File "//anaconda/lib/python2.7/site-packages/sklearn/preprocessing/data.py", line 25, in <module>
    from ..utils.sparsefuncs import (inplace_column_scale,

ImportError: cannot import name inplace_column_scale

除了 svm,当我导入树时,linear_model,同样的事情发生了。

from sklearn.models import linear_model

错误:

Traceback (most recent call last):

  File "<ipython-input-3-540f6792b379>", line 1, in <module>
    from sklearn.models import linear_model

ImportError: No module named models

代码:

from sklearn import tree

错误: 回溯(最近调用最后):

  File "<ipython-input-4-fcc6e7d2ee3e>", line 1, in <module>
    from sklearn import tree

  File "//anaconda/lib/python2.7/site-packages/sklearn/tree/__init__.py", line 6, in <module>
    from .tree import DecisionTreeClassifier

  File "//anaconda/lib/python2.7/site-packages/sklearn/tree/tree.py", line 30, in <module>
    from ..feature_selection.from_model import _LearntSelectorMixin

  File "//anaconda/lib/python2.7/site-packages/sklearn/feature_selection/__init__.py", line 7, in <module>
    from .univariate_selection import chi2

  File "//anaconda/lib/python2.7/site-packages/sklearn/feature_selection/univariate_selection.py", line 15, in <module>
    from ..preprocessing import LabelBinarizer

  File "//anaconda/lib/python2.7/site-packages/sklearn/preprocessing/__init__.py", line 8, in <module>
    from .data import Binarizer

  File "//anaconda/lib/python2.7/site-packages/sklearn/preprocessing/data.py", line 25, in <module>
    from ..utils.sparsefuncs import (inplace_column_scale,

ImportError: cannot import name inplace_column_scale

在您的终端中试试这个:

conda install -c anaconda scikit-learn=0.18.1

如果它不起作用,请转到您的终端并尝试:

conda update anaconda

更新完成后,再尝试第一段代码 希望它有效

请看这个问题。 ImportError: cannot import name inplace_column_scale.

我想你也遇到了同样的问题。有几种方法可以解决它。

  1. 对于windows.删除python27\Lib\site-packages\sklearn\utils\sparsefuncs.pyd。

    对于mac和linux,删除/usr/local/lib/python2.7/site-packages/sklearn/utils/sparsefuncs.so。

    如果使用anaconda,删除anaconda/lib/python2.7/site-packages/sklearn/utils/sparsefun‌ cs.so

  2. 重新安装 sklearn。 pip 卸载 scikit-learn 点安装 scikit-learn

解决错误:

ImportError: cannot import name 'OrdinalEnconder' from 'sklearn.preprocessing' 
    (C:\ProgramData\Anaconda3\lib\site-packages\sklearn\preprocessing\__init__.py)

您需要转到路径 "C:\ProgramData\Anaconda3\lib\site-packages\sklearn\preprocessing" 并检查 python 文件 __init__.py 中 OneLabelEncoder 的名称。该名称可以是 LabelEncoder 或其他名称。您需要导入具有相同名称的模块。

以下屏幕截图应该可以帮助您更好地理解这一点: