ImportError:无法从“sklearn.utils.validation”导入名称“_deprecate_positional_args”

Posted

技术标签:

【中文标题】ImportError:无法从“sklearn.utils.validation”导入名称“_deprecate_positional_args”【英文标题】:ImportError: cannot import name '_deprecate_positional_args' from 'sklearn.utils.validation' 【发布时间】:2020-10-19 19:23:00 【问题描述】:

当我尝试从 sklearn.utils.validation' 导入 deprecate_positional_args 函数时,我收到了这个导入错误:

ImportError: cannot import name '_deprecate_positional_args' from 'sklearn.utils.validation'

scikit-learn 版本为 0.21.3

【问题讨论】:

我遇到了同样的错误。你解决了吗? 【参考方案1】:

在 Jupyter 环境中运行时,我遇到了同样的错误。通过运行!pip install -U imbalanced-learn 安装imbalanced-learn 然后重新启动运行时已解决。重新启动运行时是这里的关键。如果不重新启动,错误不会消失。

【讨论】:

重新启动确实是我在尝试解决此问题时所缺少的。谢谢。 无需其他安装 - 只需重新启动!谢谢!【参考方案2】:

我通过升级scikit-learn解决了这个问题:

pip install --upgrade scikit-learn

【讨论】:

【参考方案3】:

这是由用于训练模型和加载模型的 scikit-learn 版本之间的不匹配造成的。使用 sklearn.__version__ 检查您的 scikit-learn 版本,并使用 pip install --upgrade scikit-learn==<version_number> 升级/降级其中一个软件包。

【讨论】:

【参考方案4】:

如果您使用的是 Python 3.7 或更新版本,我认为这里的一些答案会起作用。由于工作场所的限制,我无法升级到更新的 Python 版本,而对我有用的是降级到 scikit-learn 0.23。

你可以通过命令来实现

pip install scikit-learn==0.23

或者,如果您使用的是 Jupyter Notebook:

import sys
!sys.executable -m pip install scikit-learn==0.23

【讨论】:

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

python aiorpc:“ImportError:无法从'aiorpc.server'导入名称'RPCServer'”

ImportError:无法从“变压器”导入名称“AutoModelWithLMHead”

ImportError:无法从“matplotlib.mlab”导入名称“PCA”

ImportError:无法从“sklearn.externals”导入名称“joblib”

ImportError:无法从“sklearn.externals”导入名称“joblib”

ImportError:无法从“google.cloud”(未知位置)导入名称“bigquery”