TabPFN:零调参的表格分类基础模型,一次前向传播完成预测
【免费下载链接】TabPFN⚡ TabPFN: Foundation Model for Tabular Data ⚡项目地址: https://gitcode.com/GitHub_Trending/ta/TabPFN
TabPFN 是 Prior Labs 开源的表格数据基础模型,把 sklearn 式的fit/predict接口和 Transformer 推理合在一起:fit 之后,predict 只需一次前向传播就能对测试集出结果,全程不需要网格搜索、交叉验证或任何超参数。
它解决了什么问题
小表格分类最费时间的从来不是预测,而是调参和预处理。TabPFN 把这两步都内置了,核心卖点有三个:
- 推理极快:原始论文标题就是"一秒内解决小表格分类",默认 TabPFN-3 模型在 CPU 上即可跑 5000 条以内样本,配 8GB 显存的 GPU 更从容;
- 零调参:内置量化变换、缺失值处理、常数列移除等预处理,原始数据直接喂
fit; - GPU 全支持:Nvidia CUDA、AMD ROCm、Apple Silicon 开箱即用。
听起来像 PPT 方案?往下三步就能验证。
三步跑通第一个 Demo
安装
pip install tabpfn要求 Python 3.10+;Nvidia GPU 环境装完即用,AMD 需先装 ROCm 版 PyTorch。
最小可运行代码
官方示例见 examples/tabpfn_for_binary_classification.py,最小版本如下:
from sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score 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.33, random_state=42) clf = TabPFNClassifier() # 默认 TabPFN-3,首次 fit 自动下载权重 clf.fit(X_train, y_train) print("Accuracy:", accuracy_score(y_test, clf.predict(X_test)))你会看到什么
首次fit会下载模型权重并缓存,之后预测是瞬时完成的;在 breast_cancer 这类小数据集上通常能拿到约 95% 的准确率。想看交互式流程,可跑 examples/notebooks/TabPFN_Demo_Local.ipynb 里的完整 notebook。
真实场景里怎么用、哪里会坑
几百到几千行样本的离线分类
样本量在百到千行量级的任务——比如医疗分诊、客服工单优先级、设备故障预警——正是 TabPFN 的舒适区。CPU 上默认 TabPFN-3 支持最多 5000 条训练样本;样本再大就换 GPU,约 16GB 显存可覆盖更大的数据集。
需要概率排序的批量打分
对一批待评估样本调用predict_proba得到各类别概率,按分数排序输出 Top-N 即可,省掉了验证集和调参环节。多类别任务可参考 examples/tabpfn_for_multiclass_classification.py。
避坑提醒
- ⚠️ 字符串类别列直接
fit会报输入错误:先用 sklearn 的OrdinalEncoder/OneHotEncoder编码再传入。 - ⚠️ 默认 TabPFN-3 权重是非商业许可,生产环境要换许可干净的 v2:
TabPFNClassifier.create_default_for_version(ModelVersion.V2)。 - ⚠️ 无 GPU 且样本超过 5000 时,改用旧版模型
ModelVersion.V2_6(上限约 1000 条)或换机器,硬跑默认模型只会 OOM。
周边工具链
- scikit-learn:数据切分、编码器与
accuracy_score等评估指标都在它这里; - pandas:原始表格的清洗、列筛选,处理完直接传给
fit; - PyTorch:底层推理引擎,CUDA / ROCm / MPS 加速都走它;
- tabpfn-extensions:官方扩展包,提供 SHAP 解释、离群点检测等社区工具,
pip install tabpfn-extensions即可。
到这里,你已经可以把 TabPFN 塞进自己的项目里了:一行fit,一行predict,表格分类从调参活儿变成了调用库。
【免费下载链接】TabPFN⚡ TabPFN: Foundation Model for Tabular Data ⚡项目地址: https://gitcode.com/GitHub_Trending/ta/TabPFN
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考