引言
在当今数据科学的海洋中,特征工程如同一艘驶向成功的航船,然而,如何使这艘船更快、更稳地行驶?大型语言模型(LLMs)作为新兴的“船长”,是否能够帮助我们在这一过程中乘风破浪?本文将探讨这一问题,并提出一个新的基准测试框架——FeatEng,旨在评估LLMs在特征工程任务中的表现。
1.1 现有基准的局限性
当前的基准测试往往专注于语言理解、世界知识、代码生成或数学推理等单一领域,但这些评估方法忽视了模型在复杂现实问题中的综合能力。例如,MMLU和ARC等现有基准虽然要求较高的领域知识,但多选题的形式却无法验证模型在实际问题中的应用能力。
1.2 特征工程的救赎
特征工程不仅是数据科学的基石,更是模型性能的关键。尽管现有的自动化系统(如AutoML)在特征工程方面取得了一些进展,但它们往往依赖于穷举搜索和启发式方法,无法充分挖掘数据之间的微妙关系。而LLMs的出现,正是希望借助其强大的语言生成能力,帮助数据科学家更高效地进行特征工程。
1.3 与定义原则的对齐
FeatEng基准的设计,旨在确保模型在特征工程任务中,不仅要有出色的功能性,还要具备实际应用能力、世界知识的运用、复杂技能的整合及抵抗“游戏规则”的能力。
从假设到实现
FeatEng基准的核心在于要求LLM设计一个Python函数,以便根据问题描述和元数据转换DataFrame。该函数可以删除、添加或修改列和行,从而得到更适合问题的表格数据。接下来,我们将详细介绍FeatEng的构建过程。
2.1 数据集的来源
为了确保任务的多样性,我们手动搜索了多个数据集。这些数据集涵盖了各种领域和问题规模,包括分类和回归任务,旨在测试模型的适应能力。
2.2 输入结构
FeatEng的设计结构可以通过输入提示的组成部分来理解。输入包括一般任务描述、样本问题与解决方案、待解决的具体问题,以及行动呼吁。
2.2.1 输出与代码执行
模型的预期输出是一个Python函数,该函数对三个输入(训练特征集、训练目标和测试特征集)进行数据转换。需要注意的是,确保训练集和测试集之间的一致性是至关重要的。
2.3 评估指标与基线
生成代码的质量通过与未转换数据集上训练的基线模型的误差减少量来评估。我们还实施了一个基于EvalML库的AutoML解决方案,以确保生成的特征工程代码的有效性。
实验与分析
在我们的实验中,我们测试了多种LLM,包括GPT、Claude、Gemini等。下面是一些关键的实验结果。
3.1 整体结果
根据我们的基准测试,o1-preview模型在整体表现上位居榜首,其次是Gemini系列和GPT-4o模型。以下是模型得分的比较:
3.2 生成特征
通过对生成代码的分析,我们发现不同模型在特征工程方法上的运用程度不同。模型能够有效地遵循指令,利用从基本到高级的特征工程技术来解决每个问题。
局限性
尽管FeatEng基准设计上尽量全面,但我们承认以下局限性:首先,由于数据集的规模和专业特征工程的时间成本,我们无法提供一个人类基线。其次,基准中的任务可能与原始数据集中的任务在范围、目标或评估指标上并不完全可比。最后,许多Kaggle数据集集中在特定领域,可能不完全代表其他行业所面临的挑战。
总结
现有的LLM基准往往关注于孤立的技能,而FeatEng则试图通过评估LLMs在特征工程代码生成方面的能力,提供更加综合的评估。我们的研究表明,LLMs可以利用领域知识和推理能力,生成有意义的数据转换,从而显著提升模型性能。这一新基准不仅为数据科学领域提供了实用的工具,也为未来更复杂的AI系统奠定了基础。
参考文献
- Alteryx. EvalML. https://evalml.alteryx.com/en/stable/ (2023).
- OpenAI et al. GPT-4 Technical Report, 2024. https://arxiv.org/abs/2303.08774
- Hendrycks et al. Measuring Massive Multitask Language Understanding. Proceedings of the International Conference on Learning Representations (ICLR), 2021.
- Chiang et al. Chatbot Arena: An Open Platform for Evaluating LLMs by Human Preference. ArXiv, 2024. https://arxiv.org/abs/2403.04132
- Jin et al. Auto-Keras: An Efficient Neural Architecture Search System. 2019. https://arxiv.org/abs/1806.10282