PyCaret分类setup报错:'OneHotEncoder'对象无'get_feature_names'属性
解决PyCaret中OneHotEncoder的get_feature_names属性错误
这个错误源于scikit-learn与PyCaret版本不兼容:新版scikit-learn(1.2+)将OneHotEncoder的get_feature_names()方法替换为get_feature_names_out(),而旧版PyCaret仍在调用旧方法。以下是几种可行的解决办法:
降级scikit-learn到兼容版本
卸载当前版本,安装PyCaret适配的旧版scikit-learn:pip uninstall scikit-learn -y pip install scikit-learn==1.1.3升级PyCaret到最新版本
新版PyCaret已经适配了scikit-learn的新API,执行升级命令:pip install --upgrade pycaret临时指定编码参数
在setup函数中显式设置兼容的编码方式:exp = setup(data=df, target='CureFlag', fold_shuffle=True, session_id=2, encoding_method='onehot')
内容的提问来源于stack exchange,提问作者Kk22
相关产品推荐
相关产品推荐

