Changelog

Version 0.0.1a13

  • Figures can now save as svg/pdf/jpg, not just png.

  • plot_effect_sizes now uses save_or_show_plot instead 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_scripts have 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_metrics into three phases (omnibus, pairwise once per group, then annotate effect sizes). Fixes a silent bug where results[group] was overwritten on each metric iteration, losing effect-size assignments for all but the last significant metric.

  • plot_effect_sizes rewritten to display max Cramer’s V per outer key, preserving the original chart structure under the new nested shape.

  • _calculate_effect_size routes through get_contingency_table so Cramer’s V is computed on the same K x 2 slice as the chi-square test.

  • METRIC_LIST pruned to drop TP Rate and TN Rate (aliases of Recall and Specificity, identical chi2 statistics).

Version 0.0.1a11

Version 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 name prefix followed by a colon.

Example:

  • Before → race_F1_Score_dff

  • After → Race: F1 Score diff

Version 0.0.1a8

Version 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__.py where 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

Version 0.0.1a3

Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.1a2…0.0.1a3

Version 0.0.1a2

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

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_prob instead.

  • 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 version from packaging and check sns.__version__ once at module load.

  • Inside the loop we only add legend=False when Seaborn ≥ 0.13.2.

  • For older versions we catch the TypeError, retry without legend, then drop any stray legend.

Unit Test Updates:

  • Switch tests from plot_kind to plot_type based on correct code.

  • Add seaborn version‐specific legend tests

Add lowess_kwargs support & show LOWESS AUC in legend

  • Introduce new lowess_kwargs arg (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_kwargs continue to work.

Version 0.0.0a9

What’s Changed

Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a8…0.0.0a9

Version 0.0.0a8

  • tqdm added to bootstrap

  • reduced 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

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 statsmodels dependency; updated README and pyproject.toml accordingly;

Otherwise, see the following substantive changes from 0.0.0a4:

New Contributor

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

New Contributor

Full Changelog: https://github.com/uclamii/equiboots/compare/0.0.0a3…0.0.0a4

Version 0.0.0a3

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

New Contributors

Full Changelog: https://github.com/uclamii/equiboots/commits/0.0.0a1