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 테스트에서 진정한 개인화 의사 결정으로 나아가고자 하는 모든 사람에게 필수 라이브러리입니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트