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

postprocessing

postprocessing

Use Fairlearn ThresholdOptimizer and threshold-optimizer plots to adjust trained predictors under group fairness constraints.

Independent GitHub snapshot · Automated classification · Original documentation governs

Documentation de la Skill

GitHub

name: postprocessing description: "Use Fairlearn ThresholdOptimizer and threshold-optimizer plots to adjust trained predictors under group fairness constraints." disable-model-invocation: true metadata: disco-role: operating license: MIT

Fairlearn postprocessing

Use this sub-skill when the task asks to adjust a trained predictor's scores or predictions with group-specific thresholds: ThresholdOptimizer, plot_threshold_optimizer, prefit, predict_method, tol, demographic parity, equalized odds, false/true positive/negative rate parity, or threshold interpolation dictionaries.

Quick workflow

  1. Choose or fit a base estimator that exposes a useful score method: predict_proba, decision_function, or predict.
  2. Create ThresholdOptimizer(estimator=..., constraints=..., objective=..., predict_method=...).
  3. Set prefit=True only when the estimator is already fitted and will not be cloned by cross-validation.
  4. Fit the threshold optimizer with sensitive_features=....
  5. Predict with the same sensitive-feature grouping and, when deterministic output matters, pass random_state to predict.
  6. Route to ../assessment/ to compare subgroup metrics before and after postprocessing.

Read these references

Core APIs to recognize

  • ThresholdOptimizer(*, estimator=None, constraints="demographic_parity", objective="accuracy_score", grid_size=1000, flip=False, prefit=False, predict_method="auto", tol=None)
  • ThresholdOptimizer.fit(X, y, *, sensitive_features, **kwargs)
  • ThresholdOptimizer.predict(X, *, sensitive_features, random_state=None)
  • plot_threshold_optimizer(threshold_optimizer, ax=None, show_plot=True)

Boundary rules

  • This sub-skill owns post-fit threshold/interpolation mitigation. Use ../reductions/ for fairness-constrained retraining and ../preprocessing/ for feature transformation.
  • Use ../assessment/ for grouped metrics and model-comparison plots. plot_threshold_optimizer visualizes the postprocessor internals, not a full fairness report.
  • Use ../installation/ or root troubleshooting when matplotlib is missing.
  • Use ../adversarial/ for neural adversarial fairness; it is not a threshold optimizer.

Operating rules

  • y must be binary for ThresholdOptimizer in this source.
  • sensitive_features are required for both fit and predict.
  • Prefer predict_proba or decision_function over hard-label predict when meaningful scores are available.
  • equalized_odds does not support tol relaxation in the inspected source.
  • prefit=True is unsafe with estimator cloning workflows such as cross_val_score or GridSearchCV; use prefit=False there.
  • Postprocessing can change output randomness. Use random_state in predict for reproducible reports.

Fast validation

Run:

python sub-skills/postprocessing/scripts/smoke_threshold_optimizer.py

Run plot coverage in a matplotlib-capable environment:

python sub-skills/postprocessing/scripts/smoke_threshold_optimizer.py --plot --output-dir /tmp/fairlearn-threshold-plots
Skills enregistrées