research: tune `UpliftTLearner` on a validation fold and report Qini against the rules

Đang mở
#348 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python, scikit-learn

Hướng nghiên cứu

Start with philanthropy/experimental/_uplift.py to see how UpliftTLearner exposes max_depth and leaf size, then read qini_curve and qini_auc_score in philanthropy/metrics/_uplift.py, and the Karlan and List loader in philanthropy/datasets/_karlan_list.py. Done means a validation-tuned setting, held-out Qini with bootstrap intervals for the tuned model, the default, and both rules, and a recorded keep, change, or promote decision. Comment on the issue before starting, since the work is open-ended.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

enhancement help wanted roadmap
Goal

Settle whether UpliftTLearner should leave experimental, using the new qini_auc_score on randomised appeal data.

Acceptance criteria
  • Pick max_depth and n_estimators (the only two tree settings UpliftTLearner exposes) on a validation split of the Karlan and List data (philanthropy.datasets.load_karlan_list(path), a local file; the docstring says where to get it). The default max_depth=None is one candidate. Split with treatment stratified, since the file is a randomised trial.
  • Report qini_auc_score on the held-out split for the chosen setting, the default, and two rules built from the file's own columns: "most recent giver" (rank by months_since_last_gift, ascending) and "past spend" (rank by highest_previous_amount, descending). Give each a bootstrap interval.
  • Record the decision (keep in experimental, change the default, or promote) with the numbers. There is no uplift page under docs/results/ yet: put the table in docs/how-to/estimate_appeal_uplift.md, or propose a Results page here first if the result is worth one. Promotion out of experimental also needs the fit(X, y, treatment) signature question settled (see its Tier 3 row in docs/reference/index.md), so a good Qini alone does not promote it.
Scope

Randomised data only: uplift cannot be evaluated on observational files.

Where to start
  • philanthropy/experimental/_uplift.py
  • philanthropy/metrics/_uplift.py (qini_curve, qini_auc_score)
  • philanthropy/datasets/_karlan_list.py
Dependencies
  • None

Phase order is a release plan, not a rule against picking up independent work early. Comment on this issue before you start so two people don't build the same thing.

Ngôn ngữ chính
Python
Star
11
Fork
23
Merge trung bình
2 ngày 19 giờ
Pull request đã merge (30 ngày)
31

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của PhilanthroPy-Project/PhilanthroPy

Tất cả issue của PhilanthroPy-Project/PhilanthroPy

Issue tương tự

Thêm issue về Python

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.