tabicl

上传表格数据,无需训练即可精准预测,让建模像聊天一样简单。

TabICLv2 是一个基于上下文学习(In-Context Learning)的表格数据基础模型,旨在解决传统表格预测模型需要针对每个数据集重新训练、泛化能力差的问题。它通过将训练样本作为上下文直接输入模型,无需微调即可对新数据集进行预测,支持分类和回归任务。核心能力包括:零样本预测、少样本快速适应、对缺失值和类别特征的原生处理,以及跨数据集的强泛化能力。该模型在多个公开基准上达到当前最优水平,特别适合数据科学自动化、AutoML 和快速建模场景。其设计强调易用性,提供简洁的 Python API,可无缝集成到现有数据处理流程中。

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

项目数据

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

使用教程

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

环境要求

  • Python 环境(可通过 pip 安装第三方包)
  • 首次使用需联网,从 Hugging Face 自动下载预训练 checkpoint
  • 处理较大数据集建议使用 GPU(H100 上 5 万样本/100 特征约 10 秒内完成)
  • Intel Mac 用户若 pip 安装 PyTorch 失败,需先用 conda 安装 PyTorch

安装与启动步骤

  1. 1安装 tabicl

    一条命令即可完成安装,TabICL 兼容 scikit-learn,安装后可直接导入使用。

    pip install tabicl
  2. 2按需安装可选依赖

    预测、可解释性、微调、预训练等功能对应不同 extras,也可用 all 一次性装齐。

    pip install tabicl[forecast]
    pip install tabicl[shap]
    pip install tabicl[finetune]
    pip install tabicl[pretrain]
  3. 3Intel Mac 装 PyTorch

    仅在 Intel Mac 上 pip 安装 PyTorch 失败时需要,先用 conda 装好 PyTorch 再装 tabicl。

    conda install pytorch -c pytorch
  4. 4零样本分类与回归

    fit 阶段首次会下载 checkpoint,之后开销很低;真正的上下文学习发生在 predict 时。

    from tabicl import TabICLClassifier, TabICLRegressor
    
    clf = TabICLClassifier()
    clf.fit(X_train, y_train)  # downloads checkpoint on first use, otherwise cheap
    clf.predict(X_test)  # in-context learning happens here
    
    reg = TabICLRegressor()
    reg.fit(X_train, y_train)
    reg.predict(X_test)
  5. 5开启 KV 缓存加速

    缓存训练数据的 KV 投影并在多次 predict 间复用,速度更快但会额外占用内存,需权衡。

    clf = TabICLClassifier(kv_cache=True)
    clf.fit(X_train, y_train)  # caches key-value projections for training data
    clf.predict(X_test)  # fast: only processes test data by reusing the cached context
  6. 6保存与加载模型

    可将已 fit 的分类器/回归器落盘再加载;关闭 save_training_data 有助于数据隐私。

    clf.save(
        "classifier.pkl",
        save_model_weights=False,  # if False, reload from checkpoint on load
        save_training_data=True,   # if True, include training data; if False, discard it (requires KV cache)
        save_kv_cache=True,        # if True and KV cache exists, save it
    )
    clf = TabICLClassifier.load("classifier.pkl")
  7. 7微调单数据集(可选)

    需先装 finetune 依赖,提供验证集和输出目录;多 GPU 微调在 torchrun 下自动识别。

    from tabicl import FinetunedTabICLClassifier
    
    clf = FinetunedTabICLClassifier(
        epochs=50,
        learning_rate=1e-5,
        eval_metric="roc_auc",
        patience=10,
        random_state=0,
        verbose=True,
    )
    clf.fit(X_train, y_train, X_val=X_val, y_val=y_val, output_dir="./ckpts")
    y_pred = clf.predict(X_test)

关键配置

配置项必填说明示例
n_estimators否集成成员数量,越多效果越好但越慢8
kv_cache否缓存训练数据的 KV 投影,加速重复推理False
model_path否checkpoint 路径,为 None 时从 Hugging Face 下载ckpts/best.ckpt
checkpoint_version否指定预训练 checkpoint 版本tabicl-classifier-v2-20260212.ckpt
device否推理设备,None 时自动选 CUDA→XPU→MPS→CPUNone
batch_size否一起处理的集成成员数,调低可节省内存8

如何确认成功

跑通 fit 与 predict 即成功;首次运行会自动下载 checkpoint,设 verbose=True 可看到推理详细信息。

常见问题

Q:第一次 fit 特别慢是为什么?

A:首次使用会从 Hugging Face 下载预训练 checkpoint,之后直接加载本地文件,开销很低,属于正常现象。

Q:Intel Mac 上安装 PyTorch 失败怎么办?

A:先执行 conda install pytorch -c pytorch 安装 PyTorch,再按上面的命令 pip install tabicl。

Q:没有 GPU 能运行吗?

A:可以。device=None 会按 CUDA→XPU→MPS→CPU 自动选择;大数据集建议使用 GPU 以获得更好速度。

Q:类别数超过 10 类需要特殊设置吗?

A:默认 support_many_classes=True 会自动处理多于 10 类的分类任务,无需手动配置。

Q:如何避免保存模型时泄露训练数据?

A:在存在 KV 缓存的前提下保存时设置 save_training_data=False 丢弃缓存训练数据,只保留模型。

注意事项

  • TabICLRegressor 与分类器参数相同,但不含 class_shuffle_method、softmax_temperature、average_logits、support_many_classes。
  • 微调写出的 checkpoint 遵循预训练 checkpoint 格式,可直接用 TabICLClassifier(model_path="ckpts/best.ckpt") 加载回零样本估计器。
  • 多 GPU 微调在 torchrun 下自动检测:torchrun --nproc-per-node=2 finetune_script.py。
  • 微调分类任务的教程可参考仓库中的 tutorials/finetune_classifier.py。

核心亮点

  • 无需微调,零样本/少样本即可在新数据集上预测,大幅降低建模门槛
  • 在多个表格基准上达到 SOTA,性能优于传统梯度提升和多数深度学习模型
  • 原生处理缺失值和混合类型特征,减少数据预处理工作量

不足之处

  • 模型较大,推理资源消耗高于传统树模型
  • 文档/社区待观察

适用场景

  • 快速原型验证:给出一份新表格,立即获得预测结果
  • AutoML 流水线:作为基础预测器集成到自动化建模平台
  • 小样本场景:业务数据量少时,利用预训练知识提升准确率

替代项目

TabPFN、XTab、GANDALF

项目介绍

tabicl 是开源模型领域的开源项目,由 soda-inria 开发,2025 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(1,374)位列前 30%,在开源模型分类中处于中上游。

近 42 天,它的 GitHub 星标从 1,278 增加到 1,374,净增 96。

项目保持着较活跃的维护节奏,最近一次代码更新于 2026-09-23。本地部署,完全免费。

它主要面向的使用场景是:快速原型验证:给出一份新表格,立即获得预测结果。同类可对比的替代方案包括 TabPFN、XTab、GANDALF。

上一篇:awesome-vlm-architectures

下一篇:ONE-PEACE

同类项目推荐

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