表格数据在商业、医疗保健、工业和社会的所有领域都无处不在。随着机器学习在理解和利用这些数据方面发挥着如此重要的作用,AutoML 旨在为那些比机器学习更了解其领域的非机器学习专家提供更有效、更健壮和更实用的解决方案。
TabPFN
TabPFN 是一种在从一个 **先验**(一个模拟真实表格数据在现实世界中可能外观的合成函数)生成的合成数据上进行训练的 Transformer 模型。通过从这个先验中采样,TabPFN 可以轻松地迁移到新数据集,同时在网络的单次前向传播中产生极快的预测。它在 AutoML 系统的实际基准测试中取得了最先进的性能,在数值数据集上表现出色。这篇论文的影响促成了在 ICLR 2023 上的口头报告。

用法
from tabpfn import TabPFNClassifier classifier = TabPFNClassifier() classifier.fit(X_train, y_train) y_eval, p_eval = classifier.predict(X_test, return_winning_probability=True)
您可以在此处找到指向 官方 GitHub 仓库的链接!
博客
参考文献
- Noah Hollmann, Samuel Müller, Katharina Eggensperger 和 Frank Hutter
TabPFN:在一秒钟内解决小型表格分类问题的 Transformer
载于:第十一届国际学习表示会议, 2023
Auto-Sklearn
Auto-sklearn 提供开箱即用的监督机器学习。它围绕 scikit-learn 机器学习库构建,auto-sklearn 会自动搜索适合新机器学习数据集的学习算法并优化其超参数。因此,它将机器学习从业者从这些繁琐的任务中解放出来,让他们能够专注于实际问题。

用法
auto-sklearn 以 Python 编写,是 scikit-learn 分类器的即插即用替代品。
import autosklearn.classification cls = autosklearn.classification.AutoSklearnClassifier() cls.fit(X_train, y_train) predictions = cls.predict(X_test)
您可以在此处找到指向 官方 GitHub 仓库的链接!
背景
Auto-sklearn 通过高效的全局优化扩展了配置通用机器学习框架的思想,该思想是在 Auto-WEKA 中引入的。 为了提高泛化能力,auto-sklearn 会构建一个包含全局优化过程中测试过的所有模型的集成。为了加快优化过程,auto-sklearn 使用元学习来识别相似的数据集并利用过去收集到的知识。auto-sklearn 封装了总共 15 种分类算法、14 种特征预处理算法,并负责数据缩放、分类参数编码和缺失值处理。
竞赛
我们开发了 auto-sklearn 以参加 ChaLearn 自动机器学习挑战赛。使用 auto-sklearn,我们在第一次竞赛的 10 个赛道中赢得了 6 个赛道,并在第二次竞赛中赢得了主赛道。您可以在此处阅读竞赛组织者的概述论文 这里。
博客
参考文献
- Feurer, Matthias 和 Eggensperger, Katharina 和 Falkner, Stefan 和 Lindauer, Marius 和 Hutter, Frank
Auto-sklearn 2.0:下一代 - Feurer, Matthias 和 Eggensperger, Katharina 和 Falkner, Stefan 和 Lindauer, Marius 和 Hutter, Frank
AutoML Challenge 2018 的实用自动机器学习
载于:ICML 2018 AutoML Workshop - Feurer, M. 和 Klein, A. 和 Eggensperger, K. 和 Springenberg, J. 和 Blum, M. 和 Hutter, F.
高效且鲁棒的自动机器学习
载于:28 届神经信息处理系统进展
Auto-PyTorch
虽然早期的 AutoML 框架专注于优化传统的 ML 管道及其超参数,但 AutoML 的另一个趋势是专注于神经架构搜索。为了将这两个世界的优点结合起来,我们开发了 Auto-PyTorch,它联合且鲁棒地优化网络架构和训练超参数,以实现全自动深度学习 (AutoDL)。Auto-PyTorch 通过结合多保真度优化和用于深度神经网络 (DNN) 和常见表格数据基线的预热和集成的组合构建,在多个表格基准测试中取得了最先进的性能。
API 的灵感来自 auto-sklearn,只需少量输入即可为给定数据集拟合 DL 管道。
用法
autoPyTorch = AutoNetClassification("tiny_cs", max_runtime=300, min_budget=30, max_budget=90)
autoPyTorch.fit(X_train, y_train, validation_split=0.3)
y_pred = autoPyTorch.predict(X_test)
print("Accuracy score", sklearn.metrics.accuracy_score(y_test, y_pred))
如果您对 Auto-PyTorch 感兴趣,可以在此处找到我们的开源实现。
博客
参考文献
- Lucas Zimmer, Marius Lindauer 和 Frank Hutter:Auto-PyTorch Tabular:用于高效和鲁棒 AutoDL 的多保真度元学习 载于:IEEE 交易模式分析与机器智能。2021
- Mendoza, Hector 和 Klein, Aaron 和 Feurer, Matthias 和 Springenberg, Jost Tobias 和 Urban, Matthias 和 Burkart, Michael 和 Dippel, Max 和 Lindauer, Marius 和 Hutter, Frank:迈向量自动调整的深度神经网络 载于:AutoML:方法、系统、挑战。2019
CAAFE:用于特征工程的 LLM
虽然 AutoML 主要关注数据集每个特征的数值,但与表格数据相关的人工先验却很少受到关注。表格数据通常具有列名和描述,这些信息至今尚未被 AutoML 使用。
介绍 CAAFE,一种专为表格数据集设计的特征工程方法。它利用大型语言模型 (LLM) 的强大功能,基于数据集的描述,迭代地为表格数据集生成更多语义上有意义的特征。该方法同时生成用于创建新特征的 Python 代码和有关生成特征效用的解释。

CAAFE 强调了上下文感知解决方案的重要性,这些解决方案可以扩展 AutoML 系统的范围以实现语义 AutoML。通过将领域知识纳入 AutoML 过程,CAAFE 自动化了表格数据集的特征工程,生成了语义上有意义的特征及其效用解释。
该方法不仅有效,而且可解释,为每个生成的特征提供文本解释。这使得自动特征工程过程更加透明,增强了 AI 模型的可解释性。

CAAFE 是实现更广泛的数据科学任务半自动化的有前景的一步。它为更具上下文感知的解决方案铺平了道路,有可能让数据科学家专注于更高级别的问题解决和决策活动。随着人工智能技术的不断发展,像 CAAFE 这样的工具将在塑造数据科学的未来方面发挥至关重要的作用。
用法
from caafe import CAAFEClassifier
from tabpfn import TabPFN
clf = TabPFN()
caafe_clf = CAAFEClassifier(
base_classifier=clf,
llm_model="gpt-4",
iterations=2
)
如果您有兴趣尝试,可以在此处找到 GitHub 链接。
参考文献
Noah Hollmann 和 Samuel Müller 和 Frank Hutter,LLM 用于半自动数据科学:介绍 CAAFE 实现上下文感知自动特征工程 载于: arXiv。2023
Noah Hollmann 在 Medium 上发表的“使用大型语言模型 (GPT-4) 通过 CAAFE 加速您的特征工程:迈向数据科学自动化的一步?”
AutoML-Benchmark
表格数据 AutoML 系统之所以如此有效,其主要原因之一是能够对不同系统进行可比的性能衡量。此基准测试有效地评估了 AutoML 系统的真实能力,使该领域能够极大地受益于跟踪最先进的技术、哪些有效以及哪些无效。
您可以在此处查看他们的网站(外部)!
参考文献
- Gijsbers, P. 和 LeDell, E. 和 Poirier, S. 和 Thomas, J. 和 Bischl, B. 和 Vanschoren, J.,一个开源 AutoML 基准 载于:ICML 2019 AutoML Workshop
- Gijsbers, P. 和 Bueno, Marcos L. P. 和 Coors, S. 和 LeDell, E. 和 Poirier, S. 和 Thomas, J. 和 Bischl, B. 和 Vanschoren, J. AMLB:一个 AutoML 基准 载于:arXiv。2022
其他工具
市面上有各种各样的其他表格数据 AutoML 系统,它们各有优缺点。AutoML 研究的成功甚至促使微软、亚马逊和谷歌等大公司开发自己的定制 AutoML 系统。
TPOT
TPOT 是最早的 AutoML 系统之一,它使用进化搜索方法来寻找从简单到复杂的管道,以最大化性能。
- [仓库]
GAMA
另一个可定制的 AutoML 工具,使用多保真度优化和集成作为寻找管道的高效技术。
- [仓库]
H2O
H2O 既是开源服务,也是付费服务,它是最早提供 AutoML 作为服务的公司之一,使用集成技术来寻找高性能且互补的管道。
- [网站]
微软 – FLAML
当您寻找合适模型的预算很小……非常小的时候,FLAML 表现出色。当应用程序依赖于快速 AutoML 来支持用户应用程序(如电子表格)时,时间至关重要。通过高效地尝试各种廉价模型,它们能够快速获得不错的结果。虽然其他 AutoML 系统在有足够时间的情况下性能更高,但 FLAML 能够快速提供不错的结果。
- [网站]
亚马逊 – AutoGluon
AutoGluon 是亚马逊为从业者提供的 AutoML 解决方案。即使没有 HPO,AutoGluon 也通过详尽的元学习方法(了解哪些模型通常适用于给定问题)并利用诸如堆叠等集成技术,实现了最先进的性能,提供了高效的模型和快速的推理。AutoGluon 还支持各种模态,而不仅仅是简单的表格 CSV,还将其推理管道纳入文本和图像。
- [网站]
谷歌 – Google AutoML
AutoML 系统在使非机器学习专家能够理解和利用他们的数据方面取得了成功,这促使谷歌推出了自己的云产品 Google AutoML。这使得即使是计算能力有限的从业者也能利用云计算来解决他们的问题。
- [网站]
AutoWeka
[该项目由我们在 UBC 的密切合作者领导。] 存在许多不同的机器学习算法,这些算法可以轻松地现成使用,其中许多方法都实现了开源的 WEKA 包。然而,这些算法中的每一种都有自己的超参数,这些超参数会极大地改变其性能,并且总共有令人震惊的大量可能替代方案。Auto-WEKA 考虑了同时选择学习算法和设置其超参数的问题,超出了先前独立解决这些问题的现有方法。Auto-WEKA 通过利用最近在贝叶斯优化方面的创新,以全自动方法来实现这一点。我们希望 Auto-WEKA 能够帮助非专家用户更有效地识别适合其应用程序的机器学习算法和超参数设置,从而获得改进的性能。

