ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

TabPFN:零调参的表格数据基础模型,1 秒内出预测

TabPFN:零调参的表格数据基础模型,1 秒内出预测 TabPFN零调参的表格数据基础模型1 秒内出预测【免费下载链接】TabPFN⚡ TabPFN: Foundation Model for Tabular Data ⚡项目地址: https://gitcode.com/GitHub_Trending/ta/TabPFNTabPFN 是面向表格数据的 foundation model把fit(X_train, y_train)当作缓存而非训练predict时一次前向推理直接给出分类或回归结果。相比「选模型→交叉验证调参→预处理→再调参」的常规流程它砍掉了调参与手写流水线两步5000 行数据 1 秒内出预测。它解决了什么问题小数据几千行上 GBDT 和树模型容易过拟合调参调了一下午AUC 只涨了 0.002分类列、缺失值、量纲差异又得先花半天写清洗代码。TabPFN 的思路相反在海量合成表格上预训练推理阶段靠集成前向预测而不是在你的小数据集上迭代优化。无需训练5000 行数据predict单次前向 1 秒内出结果内置完整预处理缺失值、量纲、分类编码全部自动处理自动识别分类列不传categorical_features_indices也能推断GPU 加速devicecuda直接跑CPU 可处理 5000 行以内从零跑通第一次最小安装一条命令即可需要 Python 3.10PyTorch 2.5 会随之装好pip install tabpfn下面这段代码在 sklearn 的乳腺癌数据集上跑一遍二分类加载数据 → 切分 → fit → 预测 → 算 AUC 和准确率。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 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 ) clf TabPFNClassifier() clf.fit(X_train, y_train) # 首次运行自动下载并缓存模型权重 proba clf.predict_proba(X_test) pred clf.predict(X_test) print(ROC AUC:, roc_auc_score(y_test, proba[:, 1])) print(Accuracy:, accuracy_score(y_test, pred))首次运行会先下载默认 TabPFN-3 的 checkpoint 并缓存到本地之后每次 fit/predict 都是秒级。跑完你会看到两行输出例如ROC AUC: 0.99x和Accuracy: 0.97x——乳腺癌这种量级的小数据集上TabPFN-3 通常能拿到 0.95 以上的 AUC。实战中的取舍5000 行以内的中小表格分类直接TabPFNClassifier()默认配置即可不传任何超参原因是预训练已覆盖这类分布。带 pandascategory列的 DataFrame直接传入或显式声明categorical_features_indices跳过 OrdinalEncoder 这类手工编码步骤。需要概率输出做下游决策用predict_proba(X_test)拿每类概率predict只给标签。想换模型版本对比效果TabPFNClassifier.create_default_for_version(ModelVersion.V2_6)一行切换旧版权重。⚠️ 最容易踩的坑默认 TabPFN-3 的 CPU 上限是 5000 行超过后要么换 GPU要么用create_default_for_version回退到旧版模型CPU 上限 1000 行。另外 TabPFN-3 权重是非商业许可商用场景记得切到ModelVersion.V2。和谁搭配更顺手scikit-learnfit/predict/predict_proba与 estimator 接口一致用train_test_split切数据、accuracy_score/roc_auc_score评估放进现有 Pipeline 不用改调用方式。pandasDataFrame 直接作为输入categorydtype 的列会被自动识别为分类特征省掉编码步骤。PyTorch推理底层就是 PyTorch微调场景可看 examples/finetune_classifier.py 里的完整流程。想继续往下走直接看 examples/notebooks/TabPFN_Demo_Local.ipynb 里的交互式演示。【免费下载链接】TabPFN⚡ TabPFN: Foundation Model for Tabular Data ⚡项目地址: https://gitcode.com/GitHub_Trending/ta/TabPFN创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表