feat: optional [shap] extra + SHAP plot helper for donor scores
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 54/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- matplotlib, python, scikit-learn
Línea de trabajo
Start with philanthropy.inspection.donor_feature_importance and examples/method_reference_lalakiya2025.py to understand the existing permutation-importance interface and example. Then inspect the project’s optional-dependency configuration and estimator tests; done means SHAP is installable through the shap extra, an opt-in helper can produce a summary/beeswarm plot for fitted estimators, and core dependencies and default behavior remain unchanged.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
philanthropy.inspection.donor_feature_importance gives permutation-based feature attribution for fitted estimators (dependency-free). The method in the ICCED 2025 paper (DOI 10.1109/ICCED68324.2025.11325064) leans on SHAP for the same "which signals move the score" story.
Proposal
- Add an optional extra:
pip install philanthropy[shap]. - Ship a thin helper wrapping SHAP for fitted PhilanthroPy estimators, plus a summary/beeswarm plot.
- Keep SHAP out of core deps (core is
scikit-learn/pandas/numpy/joblib;matplotlibandseabornare the optionalvizextra). - Permutation importance stays the default; SHAP is opt-in.
Pairs naturally with examples/method_reference_lalakiya2025.py, which currently uses permutation importance as the SHAP analog.
- Lenguaje dominante
- Python
- Estrellas
- 11
- Forks
- 23
- Merge medio
- 1 d 11 h
- PR fusionados (30 d)
- 30
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de PhilanthroPy-Project/PhilanthroPy
-
bug roadmap
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
PhilanthroPy-Project/PhilanthroPy#366 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue roadmap
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
PhilanthroPy-Project/PhilanthroPy#361 ·
Los mantenedores suelen responder en 1 día
-
docs: `read_gifts` docstring names 5 of the 7 `GIFT_SOURCES`, and two registry comments point at CLI code that is going awayPosiblemente ocupada @shivamlalakiya la tomó hoy. Abiertobeginner documentation good first issue roadmap
Dificultad 1/5 1-3 horas Aptitud para principiantes 82/100
PhilanthroPy-Project/PhilanthroPy#360 ·
Los mantenedores suelen responder en 1 día
-
enhancement help wanted roadmap
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
PhilanthroPy-Project/PhilanthroPy#345 ·
Los mantenedores suelen responder en 1 día
-
beginner documentation good first issue roadmap
Dificultad 2/5 Medio día Aptitud para principiantes 68/100
PhilanthroPy-Project/PhilanthroPy#342 ·
Los mantenedores suelen responder en 1 día
Todos los issues de PhilanthroPy-Project/PhilanthroPy
Issues similares
-
follow-up needs-triage S3: minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
manaflow-ai/cmux#36856 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue help wanted
Dificultad 1/5 1-3 horas Aptitud para principiantes 90/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Shell framework build fails at "copy the shader libraries": the iOS shader libraries are now one file b-<chain>.imgPosiblemente ocupada @xiaofeng-han la tomó hoy. Abiertobuild ios
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día