惰性预测.监督.惰性分类器。ImportError:无法从“sklearn.utils.deprecation”导入名称“_raise_dep_warning_if_not_pytest”

Sid*_*rth 4 classification machine-learning scikit-learn

我试过:

from lazypredict.Supervised import LazyClassifier
Run Code Online (Sandbox Code Playgroud)

但得到以下回溯:

---------------------------------------------------------------------------
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)
Run Code Online (Sandbox Code Playgroud)

我正在 Jupyter 笔记本上工作,并且scikit-learn也已经尝试过升级。

Ale*_*yes 5

这很可能是由于lazypredict和的版本不兼容造成的scikit-learn。根据当前的 LazyPredict 要求文件,它需要scikit-learn==0.23.1.

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

pip uninstall scikit-learn -y
pip install scikit-learn==0.23.1
Run Code Online (Sandbox Code Playgroud)