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

如何从PyCaret及调优后模型中获取训练测试数据集拆分?

从PyCaret获取训练/测试数据集拆分及自定义绘图相关问题解答

1. 获取初始训练与测试数据集拆分

PyCaret在执行setup()初始化实验后,会自动完成数据集拆分,你可以通过get_config()函数直接提取拆分后的数据集:

  • 首先初始化实验并保存返回对象:
    from pycaret.classification import setup, get_config  # 回归任务替换为pycaret.regression模块
    
    # 替换your_data和target_column为你的数据集和目标列名
    exp = setup(data=your_data, target='target_column')
    
  • 提取拆分后的数据集:
    X_train = get_config('X_train')
    X_test = get_config('X_test')
    y_train = get_config('y_train')
    y_test = get_config('y_test')
    

get_config()可以调用setup阶段生成的所有内部变量,这里的数据集就是按照setup参数(如train_size)拆分后的原始训练/测试集。

2. 从调优后模型获取数据集并绘制自定义图表

调优后的模型(比如通过tune_model()输出的模型实例)本身不会存储数据集,但setup阶段拆分好的X_train、X_test、y_train、y_test是全局固定的,你依然可以用上述get_config()方法提取这些数据。

拿到数据后,就可以用Matplotlib、Seaborn等工具绘制plot_model不支持的自定义图表,示例如下:

import seaborn as sns
import matplotlib.pyplot as plt

# 绘制训练集某特征与目标变量的关联箱线图
sns.boxplot(x=y_train, y=X_train['your_feature'], palette='Set2')
plt.title('训练集特征与目标变量关联分布')
plt.xlabel('目标变量')
plt.ylabel('特征值')
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 04:06:24