Changelog
Version 0.0.1a13
Figures can now save as svg/pdf/jpg, not just png.
plot_effect_sizesnow usessave_or_show_plotinstead of its own inline save.
Version 0.0.1a12
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.1a11…0.0.1a12
Chi Square test now uses custom contingency tables based on which metric is being tested this is handled through the
get_contingency_table()function.Cochran’s rule: chi-square unreliable when expected cells are small. We check whether 20% of the expected values are under 5 and if so we don’t perform the chi-square test. Fisher’s exact used if we have a 2 x 2 contingency table.
Formatting of point estimate statistical tests has been updated so that the structure is now
dictionary[group][metric].All plots that originally accepted point estimates have been updated so that they work with this dictionary structure including when we provide two dictionaries (in some examples we plot race and sex together)
P-value adjustment has now been updated so that it uses this new structure and works for point estimates (p-value adjustment is only run when we have done a pairwise comparison, this is gated on finding significance at the omnibus level - this all now works on a metric to metric basis)
All
py_scriptshave been updated to follow this new format.New tests added to the statistical test unittests (including Cochran’s rule and Fisher’s exact fallback). Updated the plotting tests so that they follow the new point estimate pattern.
Added option to plot reference group built into the bootstrapping plotting functions. Fixes this issue #87
Cohen’s D definition fixed #86
Rewrote
_analyze_single_metricsinto three phases (omnibus, pairwise once per group, then annotate effect sizes). Fixes a silent bug whereresults[group]was overwritten on each metric iteration, losing effect-size assignments for all but the last significant metric.plot_effect_sizesrewritten to display max Cramer’s V per outer key, preserving the original chart structure under the new nested shape._calculate_effect_sizeroutes throughget_contingency_tableso Cramer’s V is computed on the same K x 2 slice as the chi-square test.METRIC_LISTpruned to drop TP Rate and TN Rate (aliases of Recall and Specificity, identical chi2 statistics).
Version 0.0.1a11
Mapping Error In get_metrics by @elemets in https://github.com/uclamii/equiboots/pull/85
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.1a10…0.0.1a11
Version 0.0.1a10
Reference line and setting y-limit to be consistent by @elemets in https://github.com/uclamii/equiboots/pull/83
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.1a9…0.0.1a10
Version 0.0.1a9
Summary:
Added inline sanitization for metric column titles in
eq_group_metrics_plot.Titles now display with underscores replaced by spaces.
Each plot title now includes the capitalized
nameprefix followed by a colon.
Example:
Before →
race_F1_Score_dffAfter →
Race: F1 Score diff
Version 0.0.1a8
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.1a7…0.0.1a8
Version 0.0.1a7
Add
x_limandsort_alphabeticallyoptions to forest plot functions by @lshpaner in https://github.com/uclamii/equiboots/pull/78Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.1a6…0.0.1a7
Version 0.0.1a6
Fixed a minor typo in the legend label within
eq_group_metrics_plot. The label now correctly reads “Statistically Significant Difference”.
Version 0.0.1a5
Fixed a critical import issue in
__init__.pywhere from.healer import *was missing. This caused certain healing utilities to be inaccessible when importing the package. The bug has been resolved, and all healer functions now load correctly upon package import.
Version 0.0.1a4
Adding Significant Figures Option by @elemets in https://github.com/uclamii/equiboots/pull/76
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.1a3…0.0.1a4
Version 0.0.1a3
Add
legend_locoption and improvextickalignment inplot_effect_sizes()by @lshpaner in https://github.com/uclamii/equiboots/pull/74
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.1a2…0.0.1a3
Version 0.0.1a2
Add group-specific threshold utilities for model healing by @lshpaner in https://github.com/uclamii/equiboots/pull/69
Forest plot example with differences by @elemets in https://github.com/uclamii/equiboots/pull/70
Minor Fix for x-axis labels not being centered under bars in
plot_effect_sizes()by @lshpaner in https://github.com/uclamii/equiboots/pull/72
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a9…0.0.1a2
Version 0.0.1a1
minor change to address author consistency and updated documentation link within
__init__.py
Version 0.0.1a
What’s Changed
Add
plot_effect_sizeshelper, update adult income notebook, tests,.gitignore, and requirements by @lshpaner in https://github.com/uclamii/equiboots/pull/61(+) forest plot; (-) duplicated lines by @lshpaner in https://github.com/uclamii/equiboots/pull/62
Adding point estimate forest plots by @elemets in https://github.com/uclamii/equiboots/pull/63
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a10…0.0.1a
Version 0.0.0a10
Add histogram-only mode to calibration curves (plot_hist flag)
Here, we introduce a new boolean parameter, plot_hist, to eq_plot_group_curves (and propagate it down into _plot_group_curve_ax). When plot_hist`=True, we:
Automatically switch into
"subplots"mode (one axis per group), regardless of the caller’s subplots setting.Skip the regular calibration‐curve drawing and render a simple histogram of
y_probinstead.Color each histogram with the exact same per‐group color from
curve_kwgs(or the default color map).
eqb.eq_plot_group_curves(
sliced_data,
curve_type="calibration",
title="Calibration by Race Group",
n_bins=10,
show_grid=False,
plot_hist=True,
# subplots=True,
# exclude_groups="white",
)
Handle Seaborn < 0.13.2 legend errors for boxplot/violinplot
This patch adds a runtime version check so that, on Seaborn 0.12.x, we don’t pass the unsupported legend kwarg and then explicitly remove the auto‐drawn legend. On 0.13.2+ we keep using legend=False as before.
We import
versionfrompackagingand checksns.__version__once at module load.Inside the loop we only add
legend=Falsewhen Seaborn ≥ 0.13.2.For older versions we catch the
TypeError, retry withoutlegend, then drop any stray legend.
Unit Test Updates:
Switch tests from
plot_kindtoplot_typebased on correct code.Add seaborn version‐specific legend tests
Add lowess_kwargs support & show LOWESS AUC in legend
Introduce new
lowess_kwargsarg (merged with curve_kwargs –> defaults)Compute lowess_auc = calibration_auc(x_s, y_s) and plot LOWESS with:
ax.plot(
x_s, y_s,
label=f"LOWESS (AUC={lowess_auc:.3f})",
**smooth_kwargs
)
No breaking changes; existing calls without
lowess_kwargscontinue to work.
Version 0.0.0a9
What’s Changed
Control Threshold Line, Multiple
y_limsinsideeq_group_metrics_point_plotby @lshpaner in https://github.com/uclamii/equiboots/pull/52
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a8…0.0.0a9
Version 0.0.0a8
tqdmadded to bootstrapreduced the number of decimal places on the tables to 3 dp
added p-value calc for when bootstrap number under 5000
Version 0.0.0a7
Area calib ls by @lshpaner in https://github.com/uclamii/equiboots/pull/50
Statistically Significant Tables and Plots by @elemets in https://github.com/uclamii/equiboots/pull/48
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a6…0.0.0a7
Version 0.0.0a6
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a5…0.0.0a6
Fixed bug where y_prob was a required variable. Should now support regression properly.
Version 0.0.0a5
Added
statsmodelsdependency; updatedREADMEandpyproject.tomlaccordingly;
Otherwise, see the following substantive changes from 0.0.0a4:
Refactor and Expand Grouped Model Evaluation Plots with Residuals, Bootstrapped Curves, and Disparity Metrics by @lshpaner in https://github.com/uclamii/equiboots/pull/22
Switched raise to warn + updated tests and requirements by @lshpaner in https://github.com/uclamii/equiboots/pull/24
Pp filter low sample by @panas89 in https://github.com/uclamii/equiboots/pull/25
Enhance Plotting Functions with Dynamic Y-Axis Limits, Pass/Fail Logic, New Point Plot Function, and Tests by @lshpaner in https://github.com/uclamii/equiboots/pull/26
Renamed functions; updated nb; updates tests/unittests by @lshpaner in https://github.com/uclamii/equiboots/pull/29
Metrics DataFrame Function by @lshpaner in https://github.com/uclamii/equiboots/pull/32
Notebook refine sklearn except ls by @lshpaner in https://github.com/uclamii/equiboots/pull/33
add support for statistical tests by @arahrooh31 in https://github.com/uclamii/equiboots/pull/23
added differences of metrics by @panas89 in https://github.com/uclamii/equiboots/pull/39
Update
_adjust_p_valuesto Support Dynamic P-Value Adjustments by @lshpaner in https://github.com/uclamii/equiboots/pull/42Effect Size Fix by @elemets in https://github.com/uclamii/equiboots/pull/41
Pp tests by @panas89 in https://github.com/uclamii/equiboots/pull/43
Bootstrap tests by @elemets in https://github.com/uclamii/equiboots/pull/47
Refactor Plotting Module by @lshpaner in https://github.com/uclamii/equiboots/pull/40
New Contributor
@arahrooh31 made their first contribution in https://github.com/uclamii/equiboots/pull/23
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a3…0.0.0a4
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a4…0.0.0a5
Version 0.0.0a4
Refactor and Expand Grouped Model Evaluation Plots with Residuals, Bootstrapped Curves, and Disparity Metrics by @lshpaner in https://github.com/uclamii/equiboots/pull/22
Switched raise to warn + updated tests and requirements by @lshpaner in https://github.com/uclamii/equiboots/pull/24
Pp filter low sample by @panas89 in https://github.com/uclamii/equiboots/pull/25
Enhance Plotting Functions with Dynamic Y-Axis Limits, Pass/Fail Logic, New Point Plot Function, and Tests by @lshpaner in https://github.com/uclamii/equiboots/pull/26
Renamed functions; updated nb; updates tests/unittests by @lshpaner in https://github.com/uclamii/equiboots/pull/29
Metrics DataFrame Function by @lshpaner in https://github.com/uclamii/equiboots/pull/32
Notebook refine sklearn except ls by @lshpaner in https://github.com/uclamii/equiboots/pull/33
add support for statistical tests by @arahrooh31 in https://github.com/uclamii/equiboots/pull/23
added differences of metrics by @panas89 in https://github.com/uclamii/equiboots/pull/39
Update
_adjust_p_valuesto Support Dynamic P-Value Adjustments by @lshpaner in https://github.com/uclamii/equiboots/pull/42Effect Size Fix by @elemets in https://github.com/uclamii/equiboots/pull/41
Pp tests by @panas89 in https://github.com/uclamii/equiboots/pull/43
Bootstrap tests by @elemets in https://github.com/uclamii/equiboots/pull/47
Refactor Plotting Module by @lshpaner in https://github.com/uclamii/equiboots/pull/40
New Contributor
@arahrooh31 made their first contribution in https://github.com/uclamii/equiboots/pull/23
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a3…0.0.0a4
Version 0.0.0a3
added stratify by outcome for classification by @panas89 in https://github.com/uclamii/equiboots/pull/14
Add Centroid Overlay, Group Stats, and Legend Enhancements to
eq_plot_residuals_by_group, (+) Function Enhancements by @lshpaner in https://github.com/uclamii/equiboots/pull/17
Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a2…0.0.0a3
Version 0.0.0a2
Added Zenodo DOI badge for citation and reproducibility.
Cleaned up
README.md: - Aligned and formatted dependencies for improved readability. - Updated outdated or broken links. - Included Zenodo citation section with properly formatted reference.
Version 0.0.0a1
Pp metrics by @panas89 in https://github.com/uclamii/equiboots/pull/1
Updated Requirements by @lshpaner in https://github.com/uclamii/equiboots/pull/2
Initialising Project (Grouper, Slicer) by @elemets in https://github.com/uclamii/equiboots/pull/3
added calibration plot by @panas89 in https://github.com/uclamii/equiboots/pull/5
Add Precision-Recall Curve and Enhance Calibration Curve Plot by @lshpaner in https://github.com/uclamii/equiboots/pull/6
Disparities and reference groups by @elemets in https://github.com/uclamii/equiboots/pull/7
Adding metrics and test for metrics by @elemets in https://github.com/uclamii/equiboots/pull/4
Add Support for Reproducible Seeds in
EquiBootsby @lshpaner in https://github.com/uclamii/equiboots/pull/8Pp bootstrap by @panas89 in https://github.com/uclamii/equiboots/pull/9
(+)
eq_disparity_metrics_plot, linted code, (-) unused imports by @lshpaner in https://github.com/uclamii/equiboots/pull/10Add Unit Tests, Package Refactor, and Import Fixes by @lshpaner in https://github.com/uclamii/equiboots/pull/11
added multitask support and validated reprodu. results by @panas89 in https://github.com/uclamii/equiboots/pull/12
Add Bootstrapped Grouped Visualization for ROC, PR, and Calibration Curves with Confidence Intervals by @lshpaner in https://github.com/uclamii/equiboots/pull/13
New Contributors
@panas89 made their first contribution in https://github.com/uclamii/equiboots/pull/1
@lshpaner made their first contribution in https://github.com/uclamii/equiboots/pull/2
@elemets made their first contribution in https://github.com/uclamii/equiboots/pull/3
Full Changelog: https://github.com/uclamii/equiboots/commits/0.0.0a1