The DeLong variance in the AUC gaps explainer is quadratic and takes 17 seconds
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 76/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- python, scikit-learn
- Domain
- performance
Research direction
Read explainers/auc-gaps-by-group.md and inspect delong_auc_var in explainers/code/auc-gaps-by-group.py; run the script with PYTHONPATH=. to reproduce the 17-second runtime. The issue suggests using scipy.stats.rankdata to compute placements in O(n log n). Done means the script runs in under 3 seconds and prints identical output.
Written by the indexing model from the issue text.
Description
Where: explainers/auc-gaps-by-group.md (delong_auc_var), explainers/code/auc-gaps-by-group.py.
Current gap: The placement values are computed with a Python loop over every positive and every negative ((neg < p).mean()), so a group of 10,000 rows takes most of the script's 17 seconds. The other five new explainer scripts take under 2.5 seconds.
Repro:
$ time PYTHONPATH=. python3 explainers/code/auc-gaps-by-group.py # real 17s
Suggested approach: Compute the placement values from ranks (scipy.stats.rankdata) in O(n log n), check the numbers are unchanged, and update the markdown.
Done when: the script runs in under 3 seconds with identical printed output.
- Dominant language
- HTML
- Stars
- 47
- Forks
- 45
- Avg merge
- 3h 15m
- Merged PRs (30d)
- 108
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from yakew7/Fair-Code
-
enhancement good first issue tooling
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
enhancement testing tooling
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
ci enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
bug documentation
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
Maintainers usually reply within 1 day
-
ci enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
All issues in yakew7/Fair-Code
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
loopbackio/loopback-next#11878 ·
Maintainers usually reply within 2 days
-
tech-debt
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
prestonbrown/helixscreen#1990 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 66/100
sutantyo/flight-watch#32 ·
Maintainers usually reply within 1 day
-
frontend P1 performance
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
cafebugado/eventos#426 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
drizzle-team/drizzle-orm#6619 ·
Maintainers usually reply within 2 days