인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
생산성 및 협업 · 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

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