Невозможно импортировать имя Imputer из sklearn.preprocessing из pandas_ml - PullRequest
0 голосов
/ 09 мая 2020

Я работаю над проектом для своего мастера и пытаюсь получить некоторую статистику моих расчетов. Я нашел очень классный инструмент для этого, под названием panda_ml , но когда я импортирую его в свою ячейку на jupyter следующим образом:

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, у меня есть собственный env со всеми пакетами, я пытался установить более старые версии sklearn и pandas_ml, но это не решило проблему. Я искал, но похоже, что ни у кого не было этой проблемы ... Есть ли у вас какие-нибудь предложения?

Ответы [ 3 ]

0 голосов
/ 02 июня 2020

Недавно у меня была установлена ​​scikit-learn версия 0.22.1, и у меня была аналогичная проблема. Затем я попробовал ваше решение под Python 3.7.2, поддержал версии для Pandas v0.25.1 и Pandas ML v0.6.1, и оно работает как шарм !. Интересно, когда можно будет перейти на более новую версию scikit-learn

0 голосов
/ 02 августа 2020
from sklearn.impute import SimpleImputer
imp = SimpleImputer(missing_values=np.nan, copy=False, strategy="mean", )

Значение оси больше не требуется

0 голосов
/ 11 мая 2020

Необходимо правильно удалить, и переход на более раннюю версию будет работать.

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

...