| Metric | Value |
|---|---|
| {{ metric|replace('_', ' ')|title|replace('Roc', 'ROC')|replace('Pr', 'PR') }} | {{ "%.4f"|format(value) if value is number else value }} |
| Calibration (ECE) | {% if calibration_ci.get('ece') is not none %} {{ "%.4f"|format(calibration_ci['ece']) }} {% else %}N/A{% endif %} {% if calibration_ci.get('ece_ci') %} (95% CI: [{{ "%.3f"|format(calibration_ci['ece_ci']['ci_lower']) }}, {{ "%.3f"|format(calibration_ci['ece_ci']['ci_upper']) }}]) {% endif %} |
| Calibration (ECE) | Not computed (binary classification with probabilities required) |
| Metric | Worst Gap | Groups | Sample Sizes | Status |
|---|---|---|---|---|
| {{ ns.worst_attr|replace('_', ' ')|title }} | {{ "%.4f"|format(ns.worst_gap) }} | {{ ns.group_a }} vs {{ ns.group_b }} | n={{ "{:,}".format(ns.n_a) if ns.n_a else "?" }} vs {{ "{:,}".format(ns.n_b) if ns.n_b else "?" }} | {% if ns.worst_gap < 0.05 %} ✓ {% elif ns.worst_gap < 0.10 %} ⚠ {% else %} ✗ {% endif %} |
Thresholds: ✓ <0.05 (pass) | ⚠ <0.10 (warning) | ✗ ≥0.10 (fail)
{% else %}No fairness gaps detected or insufficient group data
{% endif %} {% endif %} {# Additional Fairness Analysis Features #} {% if dataset_bias or intersectional_fairness or individual_fairness or stability_analysis %}ℹ️ See full PDF report for detailed analysis and confidence intervals
{% endif %} {# Top Features #} {% if explanations and explanations.get('feature_importances') %}| Feature | Importance | Direction |
|---|---|---|
| {{ feature }} | {{ "%.4f"|format(importance|abs) }} | {% if importance > 0 %} ↑ {% elif importance < 0 %} ↓ {% else %} — {% endif %} |
{{ passed }} passed {{ warnings }} warning{{ 's' if warnings != 1 else '' }} {{ failures }} failure{{ 's' if failures != 1 else '' }} view details →
{% else %}Policy gates: not configured add gates →
{% endif %} {# Metrics Glossary #}Performance Metrics:
Fairness Metrics:
Calibration Metrics:
Status Indicators: