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 测试转向真正个性化决策的首选库。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目