【问题标题】:AttributeError: 'Simple_Imputer' object has no attribute 'fill_value_categorical'' in PyCaretAttributeError:“Simple_Imputer”对象在 PyCaret 中没有属性“fill_value_categorical”
【发布时间】:2021-08-13 03:23:07
【问题描述】:
我正在使用 PyCaret,但出现错误。
AttributeError: 'Simple_Imputer' object has no attribute 'fill_value_categorical'
正在尝试创建基本实例。 p>
!pip install pycaret==1.0
from pycaret.regression import *
exp_reg = setup(data=df, target='Survived', session_id=2)
【问题讨论】:
标签:
python
machine-learning
kaggle
pycaret
【解决方案1】:
我重新安装了 pycraret (!pip install pycaret) 并且成功了;不知道发生了什么。
【解决方案2】:
我在安装 pycaret 时遇到了这个错误,但没有它的依赖项。
以下情况会导致此错误:
!pip install imblearn --no-deps pycaret scikit-plot pyod lightgbm plotly
为避免此错误,请更改为:
!pip install pycaret
【解决方案3】:
- pycaret
- 现在 pycaret 在
setup 中添加了一个检查功能,以便在 sklearn 版本错误时提前失败。
- OP 问题是因为 sklearn(大概是 0.24.x)引入了一种基于
__init__ 签名(参见_get_param_names)的自省BaseEstimator 对象的新方法,这要求比任何__init__ 参数都具有相应的类同名属性。像 Simple_Imputer 这样的 pycaret 子类目前不符合这个期望
【解决方案4】:
@eddygeek's answer 是正确的。我遇到了同样的错误,强制安装 scikit-learn 0.23.2 就成功了。
pip install scikit-learn==0.23.2 --force-reinstall