You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 13:30:43