如何保存PyCaret中compare_models()生成的模型对比数据框
如何保存PyCaret中
compare_models()生成的模型对比数据框 compare_models()的直接返回值是评分最高的单个模型对象,不会返回完整的多模型对比评分表,要保存表格可以按以下方法实现:
核心实现方法
使用PyCaret内置的pull()函数,即可捕获当前会话中最近一次操作输出的结果表格,返回值是标准pandas DataFrame格式,可直接调用pandas的导出接口存为本地文件。
完整可运行代码:
# 加载数据集 from pycaret.datasets import get_data diabetes = get_data('diabetes') # 初始化分类任务配置 from pycaret.classification import * clf1 = setup(data = diabetes, target = 'Class variable') # 执行基准模型对比,返回最优模型 best = compare_models() # 捕获完整的模型对比结果数据框 compare_result = pull() # 校验表格内容 print(compare_result) # 导出为CSV格式,utf-8-sig编码适配Windows下Excel打开无乱码 compare_result.to_csv("pycaret_model_compare.csv", index=False, encoding="utf-8-sig") # 如需导出为Excel,先安装openpyxl依赖后执行下行代码 # compare_result.to_excel("pycaret_model_compare.xlsx", index=False)
注意事项
pull()函数通用适配PyCaret 2.x、3.x版本,除了模型对比结果,单模型训练、超参调优、交叉验证、模型评估输出的所有评分表格,都可以用这个方法捕获- 不需要访问PyCaret的私有属性,
pull()是官方提供的公开接口,版本迭代兼容性更好 - 如果仅在Python环境下使用导出的CSV文件,可以去掉encoding参数,用默认utf-8编码即可
目标保存的对比表格效果参考:
内容的提问来源于stack exchange,提问作者Johnny Tam
相关产品推荐
相关产品推荐

