无法导入“ KBinsDiscretizer”

时间:2018-10-01 15:43:31

标签: python scikit-learn

Scikit-Learn给出错误:“无法导入名称'KBinsDiscretizer'”。在带有Anaconda发行版的Jupyter笔记本上运行。

最小工作示例:

from sklearn.preprocessing import KBinsDiscretizer
X = [[-2, 1, -4,   -1],
     [-1, 2, -3, -0.5],
     [ 0, 3, -2,  0.5],
     [ 1, 4, -1,    2]]
est = KBinsDiscretizer(n_bins=3, encode='ordinal', strategy='uniform').fit(X)  
Xt = est.transform(X)
Xt  

-sklearn.preprocessing中的所有其他功能都运行良好。

解决方案

这是包裹管理问题。

以管理员身份打开“ Anaconda提示符”

  1. 检查环境。
  2. 检查软件包的版本。
  3. 在环境中安装软件包。

代码:

conda env list #only base is listed
conda list -n base #scikit-learn 0.19.1  
conda install --name base scikit-learn=0.20.0 #install new version  

1 个答案:

答案 0 :(得分:1)

只需在anaconda提示符下键入以下命令

conda update scikit-learn

它应该升级到0.20版