tabicl

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

开源 🏷️完全免费 🔧 仅开源项目,无在线服务,需自行部署 开源模型 🍴 复刻 202 🐛 待处理 44 👀 关注 20
GitHub ↗
GitHub 星标 ★ 1476
维护状态 较活跃
是否开源 开源
定价模式 🏷️完全免费 开源模型,本地部署,完全免费

项目预览

tabicl 项目界面预览图
图片来源:GitHub 官方仓库名片

项目数据

分类开源模型
开发团队soda-inria
定价模式🏷️完全免费
价格说明开源模型,本地部署,完全免费
访问状态🔧 仅开源项目,无在线服务,需自行部署
是否开源是
开源协议NOASSERTION
主要语言Python
技术栈/模型deep-learning,foundation-models,machine-learning,tabular-data,tabular-methods,tabular-model
GitHub 星标★ 1476
上线时间2025-02-07 00:00:00
代码更新2026-10-27
仓库体积3.7 MB
本站数据更新2026-11-09
维护状态较活跃
收录时间2026-08-09
浏览次数5

项目介绍

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

Star 增长趋势

本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整

数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1476

使用教程

难度:入门 约 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

上一篇:awesome-vlm-architectures

下一篇:ONE-PEACE

同类项目推荐

CMLM-ZhongJing 开源

让中医智慧对话,专病专方一键问诊。

首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域···

★ 535 2026-08-09
decider 开源

一次推理出带概率的类型化决策,省去多轮思考

A family of System One-style models fine-tuned from Qwen3.5, designed for one-pass t···

★ 1044 2026-09-29
hello-claw 开源

从零搭建你的第一个AI助手,像领养龙虾一样简单有趣

哈喽!龙虾 ‍♀️ Adopt from scratch and build your first claw 来领养你的第一只龙虾···

★ 2216 2026-08-09
Awesome-Multimodal-Reasoning 开源

一网打尽多模态推理与生成前沿,追踪RL新进展

Latest Advances on (RL based) Multimodal Reasoning and Generation in Multimodal LLMs

★ 107 2026-08-09
SkyText-Chinese-GPT3 开源

开箱即用的中文GPT-3,写文章、聊天、翻译样样行

SkyText是由奇点智源发布的中文GPT3预训练大模型,可以进行文章续写、对话、中英翻译、内容···

★ 390 2026-08-09
flux-krea 开源

用文本提示词,一键生成高质量艺术图像

Official GitHub repository for FLUX.1 Krea [dev].

★ 369 2026-08-09
gemma 开源

谷歌开放权重模型,本地单卡即可跑推理和微调

Gemma open-weight LLM library, from Google DeepMind

★ 5839 2026-09-16