
tabicl
上传表格数据,无需训练即可精准预测,让建模像聊天一样简单。
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 1476
使用教程
环境要求
- Python 环境(可通过 pip 安装第三方包)
- 首次使用需联网,从 Hugging Face 自动下载预训练 checkpoint
- 处理较大数据集建议使用 GPU(H100 上 5 万样本/100 特征约 10 秒内完成)
- Intel Mac 用户若 pip 安装 PyTorch 失败,需先用 conda 安装 PyTorch
安装与启动步骤
-
1安装 tabicl
一条命令即可完成安装,TabICL 兼容 scikit-learn,安装后可直接导入使用。
pip install tabicl -
2按需安装可选依赖
预测、可解释性、微调、预训练等功能对应不同 extras,也可用 all 一次性装齐。
pip install tabicl[forecast] pip install tabicl[shap] pip install tabicl[finetune] pip install tabicl[pretrain] -
3Intel Mac 装 PyTorch
仅在 Intel Mac 上 pip 安装 PyTorch 失败时需要,先用 conda 装好 PyTorch 再装 tabicl。
conda install pytorch -c pytorch -
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开启 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保存与加载模型
可将已 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微调单数据集(可选)
需先装 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→CPU | None |
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
下一篇:ONE-PEACE
同类项目推荐
CMLM-ZhongJing
开源
让中医智慧对话,专病专方一键问诊。
首个中医大语言模型——“仲景”。受古代中医学巨匠张仲景深邃智慧启迪,专为传统中医领域···
decider
开源
一次推理出带概率的类型化决策,省去多轮思考
A family of System One-style models fine-tuned from Qwen3.5, designed for one-pass t···
Deep-Learning-Applications-with-···
开源
一张清单,找到带界面的开源AI工具,不用敲命令。
List of FOSS Deep Learning Applications with GUI and/or CLI
hello-claw
开源
从零搭建你的第一个AI助手,像领养龙虾一样简单有趣
哈喽!龙虾 ♀️ Adopt from scratch and build your first claw 来领养你的第一只龙虾···
Awesome-Multimodal-Reasoning
开源
一网打尽多模态推理与生成前沿,追踪RL新进展
Latest Advances on (RL based) Multimodal Reasoning and Generation in Multimodal LLMs
Diffusion-Models-Papers-Survey-T···
开源
学视频生成怕绕路?这份资料库帮你理清
Diffusion model papers, survey, and taxonomy
SkyText-Chinese-GPT3
开源
开箱即用的中文GPT-3,写文章、聊天、翻译样样行
SkyText是由奇点智源发布的中文GPT3预训练大模型,可以进行文章续写、对话、中英翻译、内容···
flux-krea
开源
用文本提示词,一键生成高质量艺术图像
Official GitHub repository for FLUX.1 Krea [dev].
gemma
开源
谷歌开放权重模型,本地单卡即可跑推理和微调
Gemma open-weight LLM library, from Google DeepMind