结构化数据的进化特征工程

arXiv cs.LG 论文

摘要

介绍进化特征工程(EFE),一种利用基于LLM的进化来自动发现结构化数据预处理变换的框架,在保持可解释性的同时提高时间序列预测和表格预测的准确性。

arXiv:2607.01548v1 公告类型: 新 摘要:大语言模型越来越多地被用作进化优化中的开放式搜索算子。我们提出进化特征工程(EFE),一个利用基于LLM的进化来发现结构化数据预处理变换的框架。EFE将变换表示为具有标准化fit/transform接口的Python程序,使其可以直接插入现有的机器学习流水线。在进化过程中,候选程序会基于数据集上下文、汇总统计信息以及在验证集上的下游性能反馈进行优化。我们在两种场景下实例化EFE。对于时间序列预测,EFE-Time学习可逆的、特定于数据集的归一化方法,从而改进现成的时间序列基础模型。它使预测误差(MASE、WQL、MAE)跨数据集平均降低3%或更多,在COVID-Deaths数据集上改进幅度高达19%。值得注意的是,这些改进在使用Chronos-2等最新TSFM时出现。对于表格预测,EFE-Tab进化出紧凑的特征程序,增加有用的可解释特征并移除冗余特征,从而改进或匹配现有的基于LLM的特征工程方法。我们发现EFE-Tab在经典决策树上特别有效,其中少量进化得到的特征在保持可解释性的同时产生具有竞争力的准确率。总体而言,EFE表明基于LLM的进化可以在自动处理结构化数据时提高准确性和可解释性。
查看原文
查看缓存全文

缓存时间: 2026/07/03 05:42

# 结构数据的进化特征工程

来源: https://arxiv.org/html/2607.01548

Ege Onur Taga¹, Yilin Zhuang¹, M. Emrullah Ildiz¹, Petros Mol², Abhimanyu Das², Karthik Duraisamy¹, Samet Oymak¹,²

¹密歇根大学  
²谷歌研究

###### 摘要

大型语言模型越来越多地被用作进化优化中的开放式搜索算子。我们提出了进化特征工程(EFE),这是一个利用基于LLM的进化来发现结构化数据预处理转换的框架。EFE将转换表示为具有标准化 `fit/transform` 接口的Python程序,使其可以直接插入到现有的机器学习流水线中。在进化过程中,候选程序会利用数据集上下文、汇总统计信息以及验证集上的下游性能反馈进行优化。我们在两种场景下实例化了EFE。对于时间序列预测,EFE-Time学习可逆的、特定于数据集的归一化方法,从而改进现成的时间序列基础模型。在不同数据集上平均,它可将预测误差(MASE、WQL、MAE)降低3%或更多,在COVID-Deaths数据集上改进幅度高达19%。值得注意的是,这些改进在使用如Chronos-2等最新TSFM时也能实现。对于表格预测,EFE-Tab进化出紧凑的特征程序,添加有用的可解释特征并移除冗余特征,从而改进或匹配现有的基于LLM的特征工程方法。我们发现EFE-Tab在经典决策树上特别有效,其中少量进化出的特征在保持可解释性的同时实现了有竞争力的准确性。总体而言,EFE表明,基于LLM的进化在自动处理结构化数据时能够同时提高准确性和可解释性。

## 1 引言

特征工程的前提很简单:如果数据能以更好的形式呈现,模型无需改变。在预测中,归一化或去趋势化可以使序列更容易外推;在表格预测中,一个比率、交互项、阈值或聚合值可以使简单的分类器更具表达能力。这些转换对于人类专家来说事后往往显而易见,但很难事先指定,因为它们依赖于数据集、下游模型以及固定预处理库无法捕获的结构。

大型语言模型使得在更丰富的可执行特征工程程序空间中进行搜索成为可能。最近的系统如AlphaEvolve (Novikov et al., 2025) 表明LLM可以引导进化代码发现,而基于LLM的特征工程方法如CAAFE和LLM-FE表明数据集上下文可以帮助构建有用的表格特征 (Hollmann et al., 2023; Abhyankar et al., 2025)。这些结果提出了一个更广泛的问题:基于LLM的进化能否发现用于结构化数据(特别是时间序列和表格)的有用预处理程序,其中时间顺序和列结构约束并引导LLM的动作空间?

我们提出了**进化特征工程** (EFE),作为一个将特征转换进化为Python程序的框架。每个候选程序遵循标准的 `fit/transform` 接口,并通过插入到一个固定的下游模型之前进行评估。LLM利用数据集元数据、汇总统计信息和先前试验的结果提出转换;验证性能然后作为反馈返回给进化循环。因此,搜索直接由下游任务性能和捕获领域专业知识的数据集特定上下文驱动。

我们在两种场景下实例化EFE,如图1所示。对于时间序列预测,**EFE-Time** 进化出具有 `fit`、`transform` 和 `inverse_transform` 方法的、特定于数据集的可逆归一化程序。这是基于时间序列基础模型中归一化的重要性:广泛使用的转换如RevIN (Kim et al., 2022) 或arcsinh风格的缩放 (Ansari et al., 2025) 很有用但必然有限,因为没有单一规则能处理所有趋势、尺度、异常值和季节性模式。相反,EFE-Time搜索针对每个数据集定制的转换。预测器在转换后的空间中运行,预测结果在评估前映射回原空间(图1,右上角)。对于表格预测,EFE-Tab搜索小型、高价值的特征程序,如图1所示。它不是生成大型特征集,而是优化验证集AUC相对于原始特征基线的改进,同时惩罚添加或删除的特征。这鼓励那些能充分提升预测性能以证明其复杂性的转换,使得该方法特别适合我们希望下游模型保持简单且可解释的场景。

> 见图注
> 图1:给定数据集和可选上下文,EFE使用元数据、统计信息和过往反馈来提示LLM提出 `fit/transform` 程序。候选程序与恒等基线进行比较评估,得分被反馈到进化循环中。

实验表明EFE在两个领域都提升了性能。在合成指数趋势预测任务中,EFE-Time发现了使基础模型更容易外推序列的转换。在来自GIFT-Eval (Aksu et al., 2024) 的真实时间序列数据集上,EFE-Time改进了Chronos-2 (Ansari et al., 2025) 在多个数据集上的表现,并迁移到其他预测器,包括TimesFM 2.5 (Das et al., 2024)、Moirai 2.0 (Liu et al., 2026a) 和Reverso (Fu et al., 2026)。它还与模型自适应互补:在微调之前应用进化出的转换比单独使用任一组件获得更大的平均收益(图4)。在表格数据集上,EFE-Tab在TabPFN、LightGBM和决策树等特征工程方法中取得了最佳平均排名,特别是在决策树上表现强劲(见表2,图5)。

总体而言,我们的贡献有三点:
第一,我们将结构化数据的特征工程形式化为对有状态预处理程序的进化搜索。
第二,我们引入了EFE-Time,它为时间序列基础模型进化出可逆的、特定于数据集的转换。
最后,我们引入了EFE-Tab,一种简约的特征工程方法,平衡了预测改进与特征复杂度。

**相关工作。** 最近的工作利用LLM自动化表格数据的特征工程,包括CAAFE,它从数据集描述中提出语义特征交互 (Hollmann et al., 2023),以及OCTree,它结合了LLM推理与浅层决策树的反馈 (Nam et al., 2024)。与我们的工作最接近的是LLM-FE,它应用FunSearch风格的进化搜索,利用数据集上下文优化表格特征转换程序 (Abhyankar et al., 2025; Romera-Paredes et al., 2024)。相比之下,我们还进化了完整的可逆时间序列归一化程序,带有训练拟合的状态和显式的逆变换,遵循AlphaEvolve (Novikov et al., 2025) 的更广泛的完整程序优化范式。虽然ELATE也使用进化LLM搜索进行时间序列协变量生成 (Murray et al., 2025),但它并不针对可逆归一化。由于ELATE没有可用的代码库,我们省略了与其协变量生成方法的比较。我们在附录A中进一步讨论了相关工作。

> 见图注(a)
> 见图注(b)
> 图2:(a) 进化出的转换对预测的影响:上:Chronos-2在一个陡峭的指数序列上相对于真实值低估外推;中:转换后序列接近平稳,预测更好地匹配转换后的真实值;下:逆转换预测得到更接近的拟合。(b) 合成指数增长基准(100个序列,长度5000,128步预测期)的汇总预测指标:NO FE使用原始输入,EFE-Time在转换空间中进行预测然后逆转换回来。

## 2 进化特征程序

进化特征工程(EFE)在可执行的预处理程序空间中进行搜索,而不是在模型架构中搜索。每个候选程序遵循标准的 `fit/transform` 接口,因此选定的转换可以直接插入到现有的预测或预测流水线之前。下游预测过程是固定的:EFE不改变模型架构、超参数或训练协议,只改变传递给该过程的表示。

从恒等转换开始,EFE运行一个进化循环。在每次迭代中,一个提示生成器向LLM提供数据集上下文、元数据、汇总统计信息、先前评估反馈以及高性能程序的示例。LLM提出一个修改后的转换程序。评估器检查程序是否可执行且无泄露,将其插入到固定的下游模型之前,并相对于恒等基线进行评分。得到的分数和反馈被返回给提示生成器,使得后续候选程序可以基于先前的成功和失败进行构建。因此,LLM充当变异算子,而选择由下游验证性能驱动。

### 2.1 通用设置

设 `\mathcal{D}` 为一个结构化数据集,带有可选上下文 `c`。一个验证协议产生 `K` 个评估实例:
`\Pi(\mathcal{D}) = \{ (D^{\mathrm{fit}}_j, D^{\mathrm{in}}_j, Y_j) \}_{j=1}^K`,
其中 `D^{\mathrm{fit}}_j` 是预处理程序在拟合其状态时可用的数据,`D^{\mathrm{in}}_j` 是传递给下游过程的输入,`Y_j` 是仅用于评估的保留目标。

候选程序 `p` 包含三个操作:`\mathrm{fit}_p`、`\mathrm{transform}_p` 和 `\mathrm{post}_p`。在验证实例 `j` 上,应用如下:
`\sigma_{j,p} = \mathrm{fit}_p(D^{\mathrm{fit}}_j; c)`,
`\widetilde{D}_{j,p} = \mathrm{transform}_p(D^{\mathrm{in}}_j; \sigma_{j,p})`,
`\widehat{Y}_{j,p} = \mathrm{post}_p\!\left(\mathcal{B}_j(\widetilde{D}_{j,p}); \sigma_{j,p}\right)`,
其中 `\mathcal{B}_j` 是一个固定的下游预测过程。EFE不修改 `\mathcal{B}_j`;它只搜索预处理程序 `p`。

对于越小越好的损失 `\ell`,定义:
`\widehat{L}(p) = \frac{1}{K} \sum_{j=1}^K \ell(Y_j, \widehat{Y}_{j,p})`.
令 `p_{\mathrm{id}}` 表示恒等预处理程序。对于基于损失的任务,我们测量相对改进为:
`\Delta(p) = 1 - \widehat{L}(p) / \widehat{L}(p_{\mathrm{id}})`.
对于基于效用的指标如AUC,我们改用相对于 `p_{\mathrm{id}}` 的加法改进。最终得分 `s(p)` 结合了验证改进与可靠性、运行时间和复杂性惩罚。EFE-Time和EFE-Tab的精确最终得分分别在2.3节和2.4节提供。

有效程序类 `\mathcal{P}_{\mathrm{valid}}` 强制要求可执行性、确定性行为、保持所需输入结构以及防止泄露:`\mathrm{fit}_p` 只能使用 `D^{\mathrm{fit}}_j` 和上下文 `c`,而 `Y_j` 仅评估器可访问。

### 2.2 基于LLM的进化优化

遵循Liu等人 (2026b),我们形式化进化优化,其中EFE在 `\mathcal{P}_{\mathrm{valid}}` 上进行顺序搜索。在 `t` 次评估后,优化器维护历史:
`\mathcal{H}_t = \{ (p_i, s_i, a_i) \}_{i=1}^t`,
其中 `s_i = S(p_i)`,`a_i` 包含辅助反馈如日志、诊断或评估器反馈。

在步骤 `t`,搜索策略 `S_t` 选择父候选、一个提示级变异算子以及可选的灵感示例:
`(pc_t, \pi_t, I_t) \sim C_{S_t}(\mathcal{H}_t)`.
基于LLM的生成器提出一个新候选:
`p_{t+1} \sim G_{\mathrm{sol}}(\cdot \mid pc_t, \pi_t, I_t)`,
它被评估并添加到历史中:
`(s_{t+1}, a_{t+1}) = E(p_{t+1})`,
`\mathcal{H}_{t+1} = \mathcal{H}_t \cup \{ (p_{t+1}, s_{t+1}, a_{t+1}) \}`.
在预算 `T` 下,EFE返回最终种群中的最佳程序:
`p^{\star} \in \arg\max_{(p,s,a) \in \mathcal{H}_T} s`.
因此,搜索策略决定了哪些候选被重用、如何变异以及向生成器展示哪些先前的例子。

### 2.3 特化为EFE-Time

对于时间序列预测,`\mathcal{D} = \{ y^{(i)}_{1:T_i} \}_{i=1}^M`,每个验证实例是一个滚动预测窗口 `j = (i,t)`,具有历史 `y^{(i)}_{1:t}` 和未来目标 `y^{(i)}_{t+1:t+H}`:
`D^{\mathrm{fit}}_j = y^{(i)}_{1:t}`,
`D^{\mathrm{in}}_j = (y^{(i)}_{1:t}, H)`,
`Y_j = y^{(i)}_{t+1:t+H}`.
固定的下游过程是一个预测器 `F_{\theta}`。一个候选程序转换历史,预测器在转换后的空间中预测,程序将预测映射回原空间:
`z^{(i)}_{1:t} = \mathrm{transform}_p(y^{(i)}_{1:t}; \sigma_{j,p})`,
`\widehat{z}^{(i)}_{t+1:t+H} = F_{\theta}(z^{(i)}_{1:t}, H, c^{(i)})`,
`\widehat{y}^{(i)}_{t+1:t+H} = \mathrm{inverse\_transform}_p\left(\widehat{z}^{(i)}_{t+1:t+H}; \sigma_{j,p}\right)`.
因此,`\mathrm{post}_p \equiv \mathrm{inverse\_transform}_p`。由于预测在转换后的空间中进行,EFE-Time将搜索限制在近似可逆的程序范围内。例如,一个候选可以拟合最近的中位数 `m` 和稳健尺度 `q`,将 `y` 转换为 `(y-m)/q`,让预测器在该归一化空间中预测,然后逆变换为 `qz + m`。使用MASE作为选择损失,
`s_{\mathrm{time}}(p) = \left(1 - \frac{\mathrm{MASE}(p)}{\mathrm{MASE}(p_{\mathrm{id}})} - \lambda_{\tau_{\mathrm{time}}} \tau(p) \right) \mathbf{1}\{p \in \mathcal{P}_{\mathrm{inv}} \}`.

相似文章

EVOTS: 用于时间序列预测的进化Transformer搜索

arXiv cs.LG

提出了一种进化神经架构搜索框架(EvoTS),用于发现任务自适应的类Transformer模型,用于多变量时间序列预测。该方法使用模块化基因组表示,并在ETT基准数据集上取得了竞争性的性能。

Evolution Fine-Tuning: 跨371个优化任务学习发现

arXiv cs.CL

本文介绍了Evolution Fine-Tuning (EFT),这是一种中期训练范式,通过将进化搜索轨迹转化为监督信号,教会大语言模型跨优化任务进化解决方案。作者构建了包含156K条轨迹、涵盖371个任务的Finch Collection数据集,并证明微调后的模型能够泛化到保留任务,并在多个基准测试上达到最先进性能。