uber/causalml
Uplift modeling and causal inference with machine learning algorithms
🚀 CausalML是什么?
CausalML 是 Uber 开源的一个 Python 库,汇集了增量建模和因果推断算法。通俗地说,它可以让你提出**“如果我们向特定用户展示特定广告/干预,会发生什么?”** 这样的问题,并获得基于数据的个体层面效应估计(条件平均处理效应,CATE)。
🎯 核心用例
| 场景 | CausalML 的价值 |
|---|---|
| 活动定向 | 识别对广告有正面反应的客户子集,最大化 A/B 测试或历史日志的 ROI。 |
| 个性化互动 | 估计多种产品或消息的异质效应,从而为每个用户推荐最佳处理。 |
🛠️ 库提供的功能
| 功能 | 内容 |
|---|---|
| 标准化 API | 所有估计器共享通用接口(fit、predict、predict_ite 等),无需重写代码即可切换方法。 |
| 广泛的算法库 | 基于树的增量模型、元学习器(T-learner、S-learner、X-learner、DR-learner、R-learner)、双重稳健方法以及基于神经网络的方法。 |
| 基准数据集 | 内置经典因果推断数据(LaLonde、IHDP、Twins)的加载器,提供 SHA-256 验证下载和现成指标(PEHE、ATE 误差、策略风险)。 |
| 排行榜笔记本 | 可复现已发布基准数据的笔记本,有助于验证新想法。 |
| 丰富的文档与教程 | 逐步快速入门、完整的估计器选择指南和 FAQ,覆盖从安装到生产。 |
📦 快速开始(概览)
pip install causalml # 从 PyPI 安装
from causalml.inference.tree import UpliftTreeClassifier
model = UpliftTreeClassifier()
model.fit(X, treatment, y) # X = 特征, treatment = 0/1, y = 结果
ite = model.predict_ite(X_test) # 个体处理效应估计
文档(快速入门、教程、笔记本)会详细说明此流程,并展示如何在内置基准套件上评估模型。
📚 更多学习资源
- 教程 – 异质处理效应的估计与验证(端到端演练)。
- 选择估计器 – 匹配数据规模、处理类型和性能需求的决策树。
- 基准数据集与排行榜 – 标准因果基准上的可复现性能数据。
🤝 社区与治理
- Apache 2.0 许可证 – 免费用于商业和学术用途。
- Uber 维护核心,但欢迎贡献(参见
CONTRIBUTING.md)。 - 项目“稳定”但仍处于孵化阶段;随着新研究的纳入,API 可能会演变。
📖 摘要
CausalML 是一个生产就绪的 Python 工具箱,用于估计个体对干预的反应。它将多种现代因果推断方法封装在统一 API 后,提供现成的基准数据,并附带详尽的文档,是从简单 A/B 测试转向真正个性化决策的首选库。
相关
- 项目
- 项目
- 项目
- 项目
- 项目