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

如何在模型比较外使用PyCaret预处理功能处理未见过的数据集?

问题:PyCaret预处理器能否处理训练/测试集之外的新数据集?

我在分析中大量使用PyCaret处理繁琐工作,通过setup()方法完成归一化、目标转换和特征选择等预处理。在利用PyCaret生成的训练/测试集完成模型创建与验证后,我希望将模型应用于未见过的数据集以模拟真实场景,期望能像处理训练/测试集一样,用PyCaret的预处理来处理该数据集。我看到教程中在setup()里做了多种转换后,直接将原始的data_unseen输入predict_model()方法,未做明显预处理。请问是否可以用PyCaret的预处理器处理训练/测试拆分之外的后续数据集?还是必须脱离PyCaret手动处理?

教程参考代码

import pandas as pd
df = pd.read_csv('source/heart.csv')
df.head()

data = df.sample(frac=0.95, random_state=42)
data_unseen = df.drop(data.index)

data.reset_index(inplace=True, drop=True)
data_unseen.reset_index(inplace=True, drop=True)

print('Data for Modeling: ' + str(data.shape))
print('Unseen Data For Predictions: ' + str(data_unseen.shape))
# 输出:
# Data for Modeling: (288, 14)
# Unseen Data For Predictions: (15, 14)

from pycaret.classification import *
from imblearn.over_sampling import RandomOverSampler
model = setup(data = data, target = 'output', normalize = True, normalize_method='minmax', 
              train_size = 0.8, fix_imbalance = True, fix_imbalance_method=RandomOverSampler(), 
              session_id=123)

best = compare_models()
tuned_best = tune_model(best)

plot_model(tuned_best, plot = 'pr')

final_best = finalize_model(tuned_best)

predict_model(final_best)

predict_model(final_best, data = data_unseen)

回答

完全可以用PyCaret的预处理器处理训练/测试集之外的新数据集,不需要手动处理,核心原因如下:

  1. 预处理逻辑自动绑定:当你调用setup()时,PyCaret会自动记录所有预处理步骤的参数(比如归一化的min-max范围、特征选择规则、类别特征编码逻辑等),并将这些预处理流水线和后续训练的模型关联在一起。
  2. finalize_model()整合完整流水线:调用finalize_model()后,最终模型会包含从数据预处理到模型预测的完整流程。此时用predict_model(final_best, data=data_unseen)传入新数据时,PyCaret会自动对新数据执行和训练集完全一致的预处理操作,不需要你手动重复归一化、特征选择等步骤。
  3. 教程写法的合理性:教程中直接传入原始data_unseen就是利用了这个机制——PyCaret内部会自动应用setup()中定义的所有转换,无需额外处理。

补充说明

  • 如果需要部署模型,可以用save_model(final_best, 'my_trained_model')把包含预处理流水线的模型保存为文件,之后用loaded_model = load_model('my_trained_model')加载,直接对新数据调用predict_model(loaded_model, data=new_data)即可,预处理逻辑会自动生效。
  • 注意新数据集必须和训练集保持特征一致:列名完全相同、数据类型匹配,否则会触发预处理错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 05:07:23