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

如何保存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编码即可

目标保存的对比表格效果参考:
PyCaret模型对比结果表示例


内容的提问来源于stack exchange,提问作者Johnny Tam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 22:45:50