TabPFN

几行代码搞定表格数据预测,小样本也能媲美调优后的 XGBoost。

TabPFN 是一个基于 Transformer 的表格式数据基础模型,由 Prior-Data Fitted Networks 技术驱动,旨在解决传统机器学习模型在小样本表格数据上泛化能力弱、调参繁琐的问题。它通过在大规模合成数据集上预训练,学习到通用的表格数据模式,从而能够快速适应新任务,无需大量特征工程和超参数调优。核心能力包括:支持分类与回归任务,提供 scikit-learn 兼容的 API,可无缝集成到现有机器学习流程;内置数据预处理功能,自动处理缺失值和类别特征;支持 GPU 加速,提升推理速度。用户只需几行代码即可获得与调优后的梯度提升树(如 XGBoost)相媲美的性能,尤其适合中小型数据集。

开源 free 开源模型
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 8014
维护状态 活跃
是否开源 是
定价模式 free

项目数据

分类开源模型
开发团队PriorLabs
所属国家
定价模式free
价格说明开源模型,本地部署,完全免费。
访问状态
是否开源是
开源协议Apache-2.0
主要语言Python
技术栈/模型data-science,foundation-models,machine-learning,tabpfn,tabular-data
GitHub 星标★ 8014
30天Star增速
HF 下载量
上线时间2022-07-01 00:00:00
最近更新2026-09-22 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数3

使用教程

难度:入门 约 10 分钟 部署方式:库/依赖 5 步

环境要求

  • Python 3.10+(兼容 3.10、3.11、3.12、3.13、3.14)
  • 已安装 pip,可正常访问 PyPI 下载依赖
  • 推荐使用 GPU:约 8GB 显存可用,部分大数据集需 16GB;CPU 仅适合中等规模数据
  • 首次使用需要联网下载模型权重,并在浏览器中登录 PriorLabs 接受许可条款
  • 如需指定模型版本,需准备 PriorLabs 账号令牌(无头/CI 环境)

安装与启动步骤

  1. 1安装 TabPFN

    用 pip 直接安装官方包,会自动带上依赖。建议在独立虚拟环境中执行,避免与已有科学计算包冲突。

    pip install tabpfn
  2. 2按硬件装 PyTorch

    AMD GPU 需先装 ROCm 版 PyTorch 再装 TabPFN;纯 CPU 环境先装 CPU 版 PyTorch 可节省磁盘空间(PyTorch 安装命令见官网)。

    pip install torch --index-url https://download.pytorch.org/whl/rocm7.2
    pip install tabpfn
  3. 3首次运行完成授权

    第一次调用模型会自动打开浏览器,登录 PriorLabs 并接受许可,令牌会缓存到本地,只需做一次。无图形界面的服务器请改用环境变量方式。

  4. 4运行分类或回归

    几行代码即可训练与预测,默认使用 TabPFN-3 模型,首次拟合时会自动下载模型权重。想用旧版可指定 ModelVersion.V2_6。

    from tabpfn import TabPFNClassifier, TabPFNRegressor
    
    clf = TabPFNClassifier()
    clf.fit(X_train, y_train)
    predictions = clf.predict(X_test)
    
    reg = TabPFNRegressor()
    reg.fit(X_train, y_train)
    predictions = reg.predict(X_test)
  5. 5离线下载全部模型

    在 TabPFN 仓库目录下执行,会下载分类器、回归器及所有集成变体到系统默认缓存目录,便于之后断网使用。

    python scripts/download_all_models.py

关键配置

配置项必填说明示例
TABPFN_TOKEN否无头/CI 环境直接提供 PriorLabs 认证令牌,免去浏览器登录TABPFN_TOKEN=your-priorlabs-token
TABPFN_NO_BROWSER否设置后禁用自动打开浏览器登录的流程TABPFN_NO_BROWSER=1
TABPFN_MODEL_CACHE_DIR否自定义模型权重缓存目录,默认是各系统用户缓存目录TABPFN_MODEL_CACHE_DIR=/path/to/dir
model_path否构造分类器/回归器时直接指定本地 ckpt 模型文件路径TabPFNClassifier(model_path="/path/to/model.ckpt")
ignore_pretraining_limits否数据超过推荐规模限制时,设为 True 可越过大小护栏ignore_pretraining_limits=True

如何确认成功

在 Python 中执行 fit 与 predict 不报错并返回预测结果;首次运行会下载模型权重,浏览器授权完成后即表示可用。

常见问题

Q:可以在 Python 3.9 上使用吗?

A:不行。TabPFN 依赖较新的语言特性,要求 Python 3.10+,兼容 3.10、3.11、3.12、3.13、3.14。

Q:没有 GPU 怎么办?

A:可以继续用 CPU,但只适合中等规模数据(默认 TabPFN-3 上限 5000 样本,旧版本 1000)。也可改用官方托管的 TabPFN Client 免费推理服务。

Q:如何在没有网络的环境下使用?

A:先联网下载模型:执行仓库自带的 scripts/download_all_models.py,或从 HuggingFace 手动下载 ckpt 放入缓存目录(Linux 为 ~/.cache/tabpfn/),再用 model_path 或 TABPFN_MODEL_CACHE_DIR 指定。

Q:加载模型时报 pickle 错误怎么解决?

A:先升级到最新版:pip install tabpfn --upgrade;再确认模型文件下载完整,必要时删除后重新下载。

Q:支持多大的数据集?

A:默认 TabPFN-3 支持 1,000,000×200、100,000×2,000 或 1,000×20,000(行×特征),特征越多行数上限越低;上一版 TabPFN-2.6 建议不超过 10 万行、2000 特征。

注意事项

  • 不要对输入数据做标准化缩放或独热编码,TabPFN 内置了数据预处理。
  • 务必使用批量预测:每次 predict 都会重算训练集,逐条预测会慢近百倍;测试集很大时按每块 1000 样本切分。
  • TabPFN 在 CPU 上执行较慢,有条件优先用 GPU。
  • macOS(Apple Silicon)自动包含 GPU 支持,建议使用 PyTorch 2.13 或更新版本以获得最佳性能。

核心亮点

  • 预训练模型直接使用,免去繁琐的特征工程和超参数调优,开箱即用。
  • 在小样本(<1000行)表格数据上表现突出,性能接近甚至超过传统模型。
  • API 设计兼容 scikit-learn,支持 fit/predict,上手门槛低,便于集成。

不足之处

  • 在大规模数据集(>10万行)上性能可能不如梯度提升树,且推理速度较慢。
  • 文档/社区待观察,目前生态和示例相对较少,高级用法需自行探索。

适用场景

  • 小样本业务预测,如初创公司冷启动时的销售预测、医疗小规模临床试验数据分析。
  • 快速原型验证,在数据探索阶段快速建立基线模型,节省时间。
  • 自动化机器学习流水线,作为基础模型快速处理结构化数据任务。

替代项目

XGBoost、LightGBM、CatBoost

项目介绍

TabPFN 是开源模型领域的开源项目,由 PriorLabs 开发,2022 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(8,014)位列前 6%,在开源模型分类的 422 个项目里位列前 9%。

近 41 天,它的 GitHub 星标从 7,784 增加到 8,014,净增 230。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-22。本地部署,完全免费。

它主要面向的使用场景是:小样本业务预测,如初创公司冷启动时的销售预测、医疗小规模临床试验数据分析。同类可对比的替代方案包括 XGBoost、LightGBM、CatBoost。

上一篇:llama2

下一篇:DeepSeek-VL

同类项目推荐

Machine-Learning 开源

跟着博客笔记,边看边跑机器学习代码

All content related to machine learning from my blog

★ 115 2026-08-09
CoreML-Models 开源

下载即用的苹果端 AI 模型库,免去转换烦恼

Core ML model zoo for iOS/macOS — PyTorch models converted to ready-to-use .mlpacka···

★ 1873 2026-08-10