不能从pandas_ml的'sklearn.preprocessing'中导入名称'Imputer'。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了不能从pandas_ml的'sklearn.preprocessing'中导入名称'Imputer'。相关的知识,希望对你有一定的参考价值。

我正在为我的主人做一个项目,我试图得到一些关于我的计算的统计数据。我发现了一个非常酷的工具,叫做 panda_ml但当我把它导入到我的单元格中,像这样。

from pandas_ml import *

它给了我这个输出错误。

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-118-93009f7254d4> in <module>
      3 from sklearn import *
      4 from matplotlib.colors import LogNorm
----> 5 from pandas_ml import *
      6 import math
      7 

~/anaconda3/envs/Lab1_B/lib/python3.7/site-packages/pandas_ml/__init__.py in <module>
      1 #!/usr/bin/env python
      2 
----> 3 from pandas_ml.core import ModelFrame, ModelSeries       # noqa
      4 from pandas_ml.tools import info                         # noqa
      5 from pandas_ml.version import version as __version__     # noqa

~/anaconda3/envs/Lab1_B/lib/python3.7/site-packages/pandas_ml/core/__init__.py in <module>
      1 #!/usr/bin/env python
      2 
----> 3 from pandas_ml.core.frame import ModelFrame       # noqa
      4 from pandas_ml.core.series import ModelSeries     # noqa

~/anaconda3/envs/Lab1_B/lib/python3.7/site-packages/pandas_ml/core/frame.py in <module>
      8 
      9 import pandas_ml.imbaccessors as imbaccessors
---> 10 import pandas_ml.skaccessors as skaccessors
     11 import pandas_ml.smaccessors as smaccessors
     12 import pandas_ml.snsaccessors as snsaccessors

~/anaconda3/envs/Lab1_B/lib/python3.7/site-packages/pandas_ml/skaccessors/__init__.py in <module>
     17 from pandas_ml.skaccessors.neighbors import NeighborsMethods                      # noqa
     18 from pandas_ml.skaccessors.pipeline import PipelineMethods                        # noqa
---> 19 from pandas_ml.skaccessors.preprocessing import PreprocessingMethods              # noqa
     20 from pandas_ml.skaccessors.svm import SVMMethods                                  # noqa

~/anaconda3/envs/Lab1_B/lib/python3.7/site-packages/pandas_ml/skaccessors/preprocessing.py in <module>
     11     _keep_col_classes = [pp.Binarizer,
     12                          pp.FunctionTransformer,
---> 13                          pp.Imputer,
     14                          pp.KernelCenterer,
     15                          pp.LabelEncoder,

AttributeError: module 'sklearn.preprocessing' has no attribute 'Imputer'

我使用的是Conda,我有我自己的环境和所有的包,我已经尝试安装旧版本的sklearn和pandas_ml,但它没有解决这个问题。我到处搜索,但似乎没有人遇到过这个问题......你有什么建议吗?

答案

你必须正确卸载,降级才行。

pip uninstall -y scikit-learn
pip uninstall -y pandas
pip uninstall -y pandas_ml

pip install scikit-learn==0.21.1
pip install pandas==0.24.2
pip install pandas_ml

然后导入

from pandas_ml import *

测试时间 Python 3.8.2

另一答案

我有 scikit-learn 最近安装了0.22.1版本,也出现了类似的问题。然后我在Python下尝试了你的解决方案 3.7.2的版本,并为其维护了 Pandas v0.25.1Pandas ML v0.6.1 它的工作像一个魅力!。我不知道什么时候可以安全地转向一个新版本的 scikit-learn

以上是关于不能从pandas_ml的'sklearn.preprocessing'中导入名称'Imputer'。的主要内容,如果未能解决你的问题,请参考以下文章

无法从 sklearn.externals.joblib 导入 Sklearn

无法从“sklearn.utils.metaestimators”导入名称“available_if”

从 python 的 sklearn PCA 结果制作散点图

sklearn - 如何从传递给 GridSearchCV 的管道中检索 PCA 组件和解释方差

报错cannot import name 'AdaptiveLasso' from 'sklearn.linear_model',怎么解决?

sklearn中的逻辑回归