L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Productivité · SKILL.md

reductions

reductions

Use Fairlearn reductions mitigation with ExponentiatedGradient, GridSearch, and Moment constraints for sklearn-compatible estimators.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: reductions description: "Use Fairlearn reductions mitigation with ExponentiatedGradient, GridSearch, and Moment constraints for sklearn-compatible estimators." disable-model-invocation: true metadata: disco-role: operating license: MIT

Fairlearn reductions

Use this sub-skill when the task asks to train or compare fairness-constrained models through reductions: ExponentiatedGradient, GridSearch, Moment, DemographicParity, EqualizedOdds, BoundedGroupLoss, sample weights, or sklearn-compatible estimators with fit/predict.

Quick workflow

  1. Pick a base estimator that supports fit(X, y, sample_weight=...) and predict(X).
  2. Pick a Moment constraint matching the fairness target.
  3. Fit ExponentiatedGradient for iterative oracle-based mitigation or GridSearch for a finite grid of Lagrange multipliers.
  4. Pass sensitive_features=... to fit.
  5. Predict on held-out data.
  6. Route to ../assessment/ to compare utility and disparity against a baseline estimator.

Read these references

Core APIs to recognize

  • ExponentiatedGradient(estimator, constraints, *, objective=None, eps=0.01, max_iter=50, nu=None, eta0=2.0, run_linprog_step=True, sample_weight_name="sample_weight")
  • GridSearch(estimator, constraints, selection_rule="tradeoff_optimization", constraint_weight=0.5, grid_size=10, grid_limit=2.0, grid_offset=None, grid=None, sample_weight_name="sample_weight")
  • Classification constraints: DemographicParity, EqualizedOdds, TruePositiveRateParity, FalsePositiveRateParity, ErrorRateParity.
  • Regression / loss constraints and objectives: BoundedGroupLoss, SquareLoss, AbsoluteLoss, MeanLoss, ErrorRate, ZeroOneLoss.

Boundary rules

  • This sub-skill owns mitigation during model training. Use ../postprocessing/ if the base predictor is already trained and only thresholds should change.
  • Use ../preprocessing/ when the user wants to transform features before ordinary training.
  • Use ../adversarial/ when the user wants neural-network adversarial training rather than reductions.
  • Use ../assessment/ for grouped metric reporting, model-comparison plots, and validation tables.

Operating rules

  • Reductions use repeated calls to the base estimator. Keep base estimators deterministic when possible (random_state) so comparisons are reproducible.
  • Confirm the estimator supports sample weights. If the argument name differs, set sample_weight_name.
  • For sklearn Pipeline objects, use a routed sample-weight name such as classifier__sample_weight when the final step is named classifier.
  • Keep sensitive_features out of X only if the modeling decision requires that; Fairlearn still needs the vector/matrix at fit time.
  • Report trade-offs. A reduced model can lower a disparity metric while increasing error or changing selection rate.

Fast validation

Run:

python sub-skills/reductions/scripts/smoke_reductions.py

The smoke uses sklearn and synthetic CPU data only.

Skills enregistrées