尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

TabPFN:表格数据小样本分类的秒级方案

TabPFN:表格数据小样本分类的秒级方案 TabPFN表格数据小样本分类的秒级方案【免费下载链接】TabPFN⚡ TabPFN: Foundation Model for Tabular Data ⚡项目地址: https://gitcode.com/GitHub_Trending/ta/TabPFNTabPFN 是一个表格数据分类的预训练模型专攻小样本预测。不用它之前小表格上跑树模型或线性模型往往要网格搜索一堆超参训练评估反复来几轮效果还飘。TabPFN 在海量合成表格上预训练拿到真实数据后一次前向传播出结果免调参几百行数据的推理可以一秒内完成。 五分钟跑通安装与第一次预测pip install tabpfn # 基础安装分类和回归都可用 pip install tabpfn[wandb] # 需要做微调并用 WandB 记录实验时加这一档支持 Python 3.10。首次fit会自动下载模型权重并缓存浏览器会弹出一次协议确认之后无需重复。官方建议用 GPU约 8GB 显存即可纯 CPU 只在几千行以内可行。数据、划分、评估全部沿用 sklearn 的惯用写法下面这段就是完整的最小可运行示例from sklearn.datasets import load_breast_cancer from sklearn.metrics import accuracy_score, roc_auc_score from sklearn.model_selection import train_test_split from tabpfn import TabPFNClassifier # sklearn 自带数据集569 行、30 个特征的二分类 X, y load_breast_cancer(return_X_yTrue) X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.33, random_state42) # device 默认 auto 自动找 GPU纯 CPU 机器改成 devicecpu clf TabPFNClassifier(devicecuda) clf.fit(X_train, y_train) # 内部完成预处理并缓存权重首次调用时自动下载 proba clf.predict_proba(X_test) # 直接输出类别概率 pred clf.predict(X_test) print(Accuracy:, accuracy_score(y_test, pred)) print(ROC AUC:, roc_auc_score(y_test, proba[:, 1]))注意fit之后再做多次predict时整个训练集会被反复重算所以测试集要一次传进去不要一行一行地循环调用。⚙️ 为什么又快又免调参Transformer 预训练模型本身是 Transformer在大量合成表格上预训练TabPFN-3 增加了分布嵌入器与行内、跨行注意力。你的训练集被整体当作输入上下文一次前向传播读出预测。免调参的来源没有需要你搜索的超参。内置集成策略对n_estimators次前向传播的结果取平均每次传播看到的输入略有不同相当于对多份提示做 bagging。速度的来源推理阶段没有梯度更新、没有迭代训练只有几次前向传播。几百行的表格单次推理在秒级GPU 上更快。 什么场景适合用它什么场景别用适合用它小表格几百到几千行是甜区默认 checkpoint 上限为 1,000,000 × 200行 × 特征。类别数不多二分类或中等类别数的多分类。需要快速迭代秒级推理一个想法几秒钟出结果。别用它超大表格超出当前 checkpoint 尺寸上限需降采样或换版本CPU 跑大表很慢。概率校准要求严格的场景如医疗、合规报表概率输出需额外校准验证。多模态混合特征TabPFN 只吃数值/类别表格图像、长文本列不是它的输入。 调一调参数效果更好参数默认调整建议deviceauto自动选 GPU/CPU有 GPU 传cuda纯 CPU 建议 5000 行以内超过强烈上 GPUn_estimatorsauto默认 8按特征数自动扩到最多 32特征多但效果一般时手动调 16~32每个 estimator 多一次前向越多越慢categorical_features_indicesNone自动识别类别列自动识别不准时传入类别列的索引列表归一化、标准化、one-hot 编码都不用做TabPFN 内置预处理缺失值NaN可以直接传。额外做特征缩放或把类别列转数值官方明确说无效。 跟谁搭配最顺scikit-learntrain_test_split划分数据accuracy_score、roc_auc_score评估指标与传统模型共用同一套流水线。pandasDataFrame 可直接作为X传入类别列保持字符串即可不用手工编码。进阶入口examples/ 里有微调、prompt tuning、批量交叉验证等可直接运行的脚本。手上是几百行的表格、又被 sklearn 调参拖慢节奏TabPFN 值得先试一把先用示例里的 breast_cancer 跑通再换成自己的数据。【免费下载链接】TabPFN⚡ TabPFN: Foundation Model for Tabular Data ⚡项目地址: https://gitcode.com/GitHub_Trending/ta/TabPFN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表