AccuracyFrontierScenario
Statistics scenarios · Implementation: mlsysim/engine/scenario_definitions/statistics.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
A hypothetical accuracy-against-disparity frontier, floor + span (1 - exp(-rate x)), with named candidate disparities on it.
Notes
Equation: The explicitly constructed curve is floor+span*(1-exp(-rate*disparity)); named points index supplied disparities.
Assumptions: The curve is an illustrative functional form, not a fit to measured accuracy or disparity.
Excludes: Evidence that a deployed classifier can realize these points or that the curve is a universal fairness frontier.
References
Derivation: The explicitly constructed curve is floor+span*(1-exp(-rate*disparity)); named points index supplied disparities. This is declared scenario accounting rather than a fitted empirical law.
Examples
>>> from mlsysim import Scenarios
>>> scenario = Scenarios.FairnessAccuracyFrontierSketch
>>> value = scenario.point(next(iter(scenario.candidates)))
>>> type(value).__name__
'tuple'Attributes
| Name | Description |
|---|---|
| candidates | |
| floor | |
| rate | |
| span |
Methods
| Name | Description |
|---|---|
| accuracy | Constructed accuracy for scalar or array disparity using the declared exponential |
| disparity_ratio | Named worse candidate’s disparity divided by the nonzero better candidate’s disparity. |
| point | Named candidate’s disparity and constructed dimensionless accuracy. |
accuracy
engine.scenario_types.AccuracyFrontierScenario.accuracy(disparity)Constructed accuracy for scalar or array disparity using the declared exponential frontier.
Equation: floor + span * (1 - np.exp(-rate * np.asarray(disparity))).
disparity_ratio
engine.scenario_types.AccuracyFrontierScenario.disparity_ratio(worse, better)Named worse candidate’s disparity divided by the nonzero better candidate’s disparity.
Equation: candidates[worse] / candidates[better].
point
engine.scenario_types.AccuracyFrontierScenario.point(name)Named candidate’s disparity and constructed dimensionless accuracy.
Equation: (x, float(accuracy(x))).
floor
Type: float.
Declared default: required.
span
Type: float.
Declared default: required.
rate
Type: float.
Declared default: required.
candidates
Type: Dict[str, float].
Declared default: required.