资讯详情

资讯详情

TabPFN 五分钟上手:一个1秒出预测结果的表格数据基础模型,新手零门槛

TabPFN 五分钟上手一个1秒出预测结果的表格数据基础模型新手零门槛【免费下载链接】TabPFN⚡ TabPFN: Foundation Model for Tabular Data ⚡项目地址: https://gitcode.com/GitHub_Trending/ta/TabPFNTabPFN 是一个表格数据基础模型把一张表给它约1秒后拿到预测结果不用写特征工程。想快速验证中小规模数据集上的分类或回归任务它是新手的好起点。⚡ 为什么值得用1 秒出结果。TabPFN 的论文定位就是「在1秒内解决小型表格分类问题」。没有梯度下降、没有超参调优fit 本质是一次前向计算几千行数据立刻出预测。不手写特征工程。官方使用说明明确建议不要做缩放不要 one-hot 编码原始数据直接喂。预处理和缺失值处理都内置了。容量上限高。默认 TabPFN-3 支持最多 1,000,000 行 × 200 特征或 100,000 × 2,000或 1,000 × 20,000行数与特征数互相权衡。上一代 2.6 则推荐用于最多 10 万行、2000 特征的数据集。3 分钟准备 TabPFN 环境要求Python 3.10 及以上3.10~3.14 均支持、PyTorch ≥ 2.5当前版本 8.5.0。建议有 GPU8GB 显存的旧卡就够个别大数据集需要 16GB。pip install tabpfn这是最常用的安装方式。首次 fit 时会自动下载模型权重并打开浏览器登录、接受许可只需一次之后令牌缓存在本地。AMD 卡或纯 CPU 场景先装对应版本的 PyTorch再装 tabpfn 即可。 5 分钟看到效果TabPFN 最小分类示例用 sklearn 自带的乳腺癌数据集一个文件内从加载数据到看到 AUCfrom sklearn.datasets import load_breast_cancer from sklearn.model_selection import train_test_split from sklearn.metrics import roc_auc_score from tabpfn import TabPFNClassifier X, y load_breast_cancer(return_X_yTrue) # 1. 加载数据集 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.33, random_state42) clf TabPFNClassifier() # 2. 建分类器默认用 TabPFN-3 clf.fit(X_train, y_train) # 3. 拟合首次自动下载权重 proba clf.predict_proba(X_test) # 4. 拿到每行的类别概率 print(ROC AUC:, roc_auc_score(y_test, proba[:, 1])) # 5. 计算 AUC预期输出是一行ROC AUC: 0.99附近的结果这个公开数据集是经典简单任务分数接近 1 属正常。想要标签而不是概率把predict_proba换成predict即可接口与 sklearn 完全一致。 常见场景与对应做法场景一预测连续值回归流程和分类完全一样换成TabPFNRegressor。它不仅能返回均值还能返回分位数或众数——分位数可以理解为「这个值以下有多少比例的样本」适合想看预测不确定性的场合reg TabPFNRegressor() reg.fit(X_train, y_train) pred reg.predict(X_test) # 默认返回均值 q reg.predict(X_test, output_typequantiles, quantiles[0.25, 0.5, 0.75])场景二训练集不变、反复预测KV 缓存默认每次predict都会重算一遍训练集。如果你在同一训练集上做交叉验证或批量评估可以在 fit 时构建 KV 缓存——把训练集表示提前算好存起来避免重复计算、加快后续预测clf TabPFNClassifier(fit_modefit_with_cache)代价是 fit 变慢、内存增加约与 行数×特征数 成正比换来之后每次 predict 都更快。仓库里有现成的对比脚本 examples/kv_cache_fast_prediction.py 可以直接跑。场景三换一个模型版本默认是 TabPFN-3。需要上一代 2.6或使用唯一可商用的 v2 权重时用类方法构建from tabpfn.constants import ModelVersion clf TabPFNClassifier.create_default_for_version(ModelVersion.V2_6)场景四保存与加载已训练模型训练完把拟合好的估计器落盘之后在别的进程里直接加载继续服务from tabpfn.model_loading import save_fitted_tabpfn_model, load_fitted_tabpfn_model save_fitted_tabpfn_model(reg, my_reg.tabpfn_fit) # 保存 reg_loaded load_fitted_tabpfn_model(my_reg.tabpfn_fit) # 加载场景五没有网络的离线环境权重默认是首次使用时联网下载的。完全离线的话把仓库克隆下来跑自带脚本把所有模型含集成变体预先下载到本地缓存目录git clone https://gitcode.com/GitHub_Trending/ta/TabPFN python scripts/download_all_models.py也可以手动下载权重文件后用model_path参数指定或设环境变量TABPFN_MODEL_CACHE_DIR指向本地目录。场景六用自己的数据微调用tabpfn.finetuning里的FinetunedTabPFNClassifier包装分类器传入 epochs、学习率等参数后对你的数据调用fit()。注意官方示例推荐 80GB 显存的 CUDA GPU这是重操作先确认默认模型不够用再上。 踩坑、调优与高频问题现象CPU 上跑得很慢→ TabPFN 在 CPU 上本来就慢默认 TabPFN-3 在 CPU 上最多允许 5000 行旧版本 1000 行。优先用 GPU也可以设TABPFN_ALLOW_CPU_LARGE_DATASETtrue绕过行数限制但依然慢。现象数据集超出推荐上限→ 降采样或设ignore_pretraining_limitsTrue强行越过大小保护或换上限更高的版本。现象做了缩放/one-hot 反而没变好→ 别做。官方明确说这两项「没有效果」直接喂原始数据。现象predict 分 100 次调用比一次调用慢得多→ 每次 predict 都重算训练集100 次小调用约慢 100 倍。测试集大就按约 1000 行一块分批调用。现象加载模型报 pickle 错误→pip install tabpfn --upgrade升级并确认权重文件下载完整。现象无界面/CI 环境打不开浏览器登录→ 先到官网接受许可拿到令牌设置环境变量TABPFN_TOKEN可用TABPFN_NO_BROWSER关闭自动弹浏览器。现象数据里有缺失值要不要先填→ 不用处理TabPFN 原生支持缺失值。现象想提高准确率→ 有效的是增加领域相关特征调整缩放、做 one-hot 无效。现象准备商用上线→ TabPFN-3/2.6/2.5 的模型权重是非商业许可代码和 v2 权重是 Apache 2.0 附带额外署名要求。商用需联系官方获取许可。到这里「fit → predict → predict_proba」三步走下来你已经能覆盖大多数表格数据任务。多分类、批量交叉验证、调优等完整用法仓库 examples/ 目录下有现成脚本examples/notebooks/TabPFN_Demo_Local.ipynb 这个交互笔记本还会带你一步步跑通分类和回归。关键词TabPFN 长尾关键词TabPFN 入门、TabPFN 快速上手、表格数据基础模型、TabPFN 安装步骤、TabPFN 分类回归示例【免费下载链接】TabPFN⚡ TabPFN: Foundation Model for Tabular Data ⚡项目地址: https://gitcode.com/GitHub_Trending/ta/TabPFN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →