docs: check whether a donor score is calibrated, by decile, on your own file

Aperta
#343 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
70/100
Tipo di issue
Documentazione
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
python, scikit-learn

Direzione di ricerca

Read docs/how-to/estimate_donor_lifetime_value.md for the held-out-year pattern and philanthropy/datasets/_panel.py for make_donor_panel. Write the new page docs/how-to/check_score_calibration.md, then add it to docs/how-to/index.md and mkdocs.yml. Done when the decile table runs without a download and mkdocs build --strict passes.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

documentation good first issue roadmap
Goal

A user can tell whether "a score of 0.3" means about 30% of those donors give, using only scikit-learn, before they put the number in front of a gift officer.

Acceptance criteria
  • New how-to docs/how-to/check_score_calibration.md: fit DonorPropensityModel on the earlier fiscal years of a gift panel, score the last year, and compare predicted vs actual per decile with sklearn.calibration.calibration_curve(y, p, n_bins=10, strategy="quantile").
  • It shows the table, not only a plot, and says in plain words what an over- or under-confident decile means for a mailing list.
  • It shows CalibratedClassifierCV(..., method="sigmoid") as the fix and fits it on a fold the model was not trained on. The project's floor is scikit-learn 1.6, where cv="prefit" is deprecated: wrap the already-fitted model as CalibratedClassifierCV(FrozenEstimator(model), method="sigmoid") (from sklearn.frozen import FrozenEstimator).
  • It says what the library already does, so nobody calibrates twice: MajorGiftClassifier is Platt-calibrated internally over 5 folds, and the DonorPropensityModel docstring reports that an isotonic wrapper lowered the top-10% hit rate on all five KDD Cup 1998 seeds. The point of the page is checking calibration on a later year of your own file, not re-fitting it by default.
  • Runs on philanthropy.datasets.make_donor_panel so it needs no download; added to docs/how-to/index.md and mkdocs.yml; mkdocs build --strict passes.
Scope

Docs only. No new public function: scikit-learn already has calibration_curve and CalibratedClassifierCV.

Where to start
  • docs/how-to/estimate_donor_lifetime_value.md for the held-out-year pattern
  • philanthropy/datasets/_panel.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.

Lingua principale
Python
Stelle
11
Fork
23
Merge medio
2g 19h
PR unite (30g)
31

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di PhilanthroPy-Project/PhilanthroPy

Tutte le issue di PhilanthroPy-Project/PhilanthroPy

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.