懒惰预测.监督.懒惰分类器导入错误:无法从“sklearn.utils.deprecation”导入名称“_raise_dep_warning_if_not_pytest”

问题描述

我试过了:

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

解决方法

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

这应该通过以下方式修复:

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