TabPFN-3 是一款基于Transformer的基础模型,它利用上下文学习通过前向传播来解决表格预测问题。 推理代码可在 https://github.com/PriorLabs/TabPFN 获取。 更多详情请参见 模型报告。
首先,安装推理包:
pip install tabpfn拟合分类器并进行预测的过程如下:
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from tabpfn import TabPFNClassifier
X, y = load_breast_cancer(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.5, random_state=42)
clf = TabPFNClassifier()
clf.fit(X_train, y_train)
prediction_probabilities = clf.predict_proba(X_test)
predictions = clf.predict(X_test)
print("Accuracy", accuracy_score(y_test, predictions))有关更多示例(例如如何训练回归模型),请参见 GitHub 仓库:https://github.com/PriorLabs/tabPFN!
TabPFN-3 提供了默认的分类和回归检查点,以及一些实验性的专用变体。我们建议从默认检查点开始使用 — 这些变体在集成或超参数优化(HPO)设置中可能会有用,或者可以在其训练针对的特定场景下手动尝试。它们的名称后缀表明了我们期望它们擅长的领域。
以下是可用的专用检查点:
| 检查点 | 任务 | 专长 |
|---|---|---|
tabpfn-v3-classifier-v3_20260417_binary.ckpt | 分类 | 专用于行数 <200k 的数据集的二分类任务 |
tabpfn-v3-classifier-v3_20260417_multiclass.ckpt | 分类 | 专用于行数 <200k 的数据集的多分类任务 |
tabpfn-v3-regressor-v3_20260417_mediumdata.ckpt | 回归 | 专用于行数 <100k 的数据集的回归任务,并采用了替代预处理方法 |
tabpfn-v3-regressor-v3_20260506_timeseries.ckpt | 回归 / 时间序列预测 | 在合成时间序列数据上进行了微调;在 TabPFN-TS-3 中默认使用 |
要使用这些检查点之一,请通过 model_path 参数传入其文件名:
from tabpfn import TabPFNClassifier
clf = TabPFNClassifier(model_path="tabpfn-v3-classifier-v3_20260417_binary.ckpt")由 Prior Labs 开发。
适用于结构化表格格式中样本量不超过 100 万、特征数≤2000 的回归和分类任务。
基于多阶段 Transformer 的架构,包含 24 个主要层。
TabPFN-3 完全基于合成表格任务进行训练。
在 TabArena 和 TALENT 等公开基准测试中,该模型取得了 SOTA 结果。 在专有基准测试集上,对于行数<10 万的数据集以及行数在 10 万-100 万且特征数<200 的数据集,均取得了 SOTA 结果。
由于完全基于合成数据集训练,TabPFN-3 不存在预训练阶段的数据泄露问题。 然而,与其他任何表格预测方法一样,在应用于高风险用例时,用户应确保标记数据不存在偏差。
当应用于超过 100 万数据点和/或超过 2000 个特征时,性能可能会下降。
模型权重根据 tabpfn-3-license-v1.0 协议发布。
本许可协议旨在为研究和有限的内部评估提供宽松的条件。它明确允许进行测试、评估和内部基准测试,因此组织可以下载模型并在自己的数据集上进行初步评估。 关键限制在于,模型及其衍生品和输出不得用于任何商业或生产目的。这包括但不限于创收产品、用于采购的竞争性基准测试、客户交付成果,或使用模型结果进行内部商业决策。 对于所有生产用例,我们提供商业企业许可。这包括访问我们专有的高速推理引擎、专门的支持、集成工具以及其他内部模型。 商业许可咨询请联系 sales@priorlabs.ai。
v1.0:初始版本发布。
@misc{TabPFN3,
title={TabPFN-3},
author={Prior Labs},
year={2026},
note={Coming soon}
}