PyCaret AutoML Web应用报错:setup()遇未知参数silent,如何解决?
解决PyCaret setup()函数的TypeError: unexpected keyword argument 'silent'问题
问题场景
使用PyCaret、Streamlit开发AutoML Web应用时,调用pycaret.classification.setup()传入silent=True以抑制进度条和日志输出,触发以下错误:
TypeError: setup() got an unexpected keyword argument 'silent'
问题原因
PyCaret 3.x版本移除了setup()函数的silent参数,该参数的功能被拆分到其他参数中,继续使用会导致参数不识别的错误。
解决方案
将原有的silent=True替换为以下参数组合,实现抑制非必要输出的需求:
verbose=False:关闭控制台的详细进度输出html=False:禁用自动生成的EDA HTML报告(进一步减少冗余输出)log_experiment=False:关闭实验日志记录(可选,若不需要追踪实验)
修改后的代码示例
将原代码中的setup调用行替换为:
setup(df, target=chosen_target, verbose=False, html=False)
完整修改后的核心代码段:
if choice == "Modelling": chosen_target = st.selectbox('Choose the Target Column', df.columns) if st.button('Run Modelling'): # 替换silent参数为verbose和html控制输出 setup(df, target=chosen_target, verbose=False, html=False) setup_df = pull() st.dataframe(setup_df) best_model = compare_models() compare_df = pull() st.dataframe(compare_df) save_model(best_model, 'best_model')
额外说明
- 若使用PyCaret 2.x版本,
silent=True参数是有效的,但建议升级到最新版并使用上述新参数以获得更好的兼容性 pull()函数仍可正常获取setup的配置信息和模型对比结果,不影响后续流程
内容的提问来源于stack exchange,提问作者Vikas Sharma
相关产品推荐
相关产品推荐

