lazypredict.Supervised.LazyClassifier。 ImportError:无法从“sklearn.utils.deprecation”导入名称“_raise_dep_war

Posted

技术标签:

【中文标题】lazypredict.Supervised.LazyClassifier。 ImportError:无法从“sklearn.utils.deprecation”导入名称“_raise_dep_warning_if_not_pytest”【英文标题】:lazypredict.Supervised.LazyClassifier. ImportError: Cannot import name '_raise_dep_warning_if_not_pytest' from 'sklearn.utils.deprecation' 【发布时间】:2021-07-22 02:12:08 【问题描述】:

我试过了:

from lazypredict.Supervised import LazyClassifier

但得到以下回溯:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-1-f518cae57501> in <module>
     10 from sklearn.linear_model import LogisticRegression
     11 from sklearn.ensemble import RandomForestClassifier
---> 12 from lazypredict.Supervised import LazyClassifier
     13 from sklearn.model_selection import GridSearchCV
     14 from sklearn.metrics import accuracy_score

~\AppData\Roaming\Python\Python38\site-packages\lazypredict\Supervised.py in <module>
     14 from sklearn.preprocessing import StandardScaler, OneHotEncoder, OrdinalEncoder
     15 from sklearn.compose import ColumnTransformer
---> 16 from sklearn.utils.testing import all_estimators
     17 from sklearn.base import RegressorMixin
     18 from sklearn.base import ClassifierMixin

S:\anaconda\lib\site-packages\sklearn\utils\testing.py in <module>
      5 from . import _testing  # type: ignore
      6 from ..externals._pep562 import Pep562
----> 7 from ..utils.deprecation import _raise_dep_warning_if_not_pytest
      8 
      9 deprecated_path = 'sklearn.utils.testing'

ImportError: cannot import name '_raise_dep_warning_if_not_pytest' from 'sklearn.utils.deprecation' (S:\anaconda\lib\site-packages\sklearn\utils\deprecation.py)

我正在使用 Jupyter 笔记本,并且已经尝试升级 scikit-learn

【问题讨论】:

LazyClassifier 是 3rd 方包 (github.com/shankarpandala/lazypredict),它不是从 scikit-learn 导入的。 你运行的是什么版本? (例如:pip freeze | grep "scikit-learnpip freeze | grep lazypredict 的输出是什么) 【参考方案1】:

这很可能是由lazypredictscikit-learn 的不兼容版本引起的。根据当前的 LazyPredict 需求文件,它需要scikit-learn==0.23.1

这应该通过以下方式解决:

pip uninstall scikit-learn -y
pip install scikit-learn==0.23.1

【讨论】:

我实际上不得不再次安装lazypredict。现在可以了。如您所说,可能是因为它们的两个版本不兼容。非常感谢!【参考方案2】:

如果它对其他人有帮助,上述安装 scikit-learn 版本 0.23.1 的解决方案对我不起作用。我正在使用 Anaconda 并执行了conda update --all,然后运行了conda install scikit-learn-intelex,之后导入对我有用。

【讨论】:

【参考方案3】:

我的错误通过这样做解决了:

!pip uninstall scikit-learn -y
!pip install scikit-learn==0.24

【讨论】:

以上是关于lazypredict.Supervised.LazyClassifier。 ImportError:无法从“sklearn.utils.deprecation”导入名称“_raise_dep_war的主要内容,如果未能解决你的问题,请参考以下文章