in src/smclarify/bias/metrics/__init__.py [0:0]
def metric_one_vs_all(metric: Callable[..., float], feature: pd.Series, **kwargs) -> Dict[Any, float]:
"""
Calculate any metric for a categorical facet and/or label using 1 vs all
:param metric: a callable for a bias metric
:param feature: pandas series containing categorical values
:param kwargs: additional keyword argument list
:return: A dictionary in which each key is one of the unique values in x and each value is
its corresponding metric according to the requested metric
"""
categories = feature.unique()
results = {}
for category in categories:
results[category] = call_metric(metric, feature=feature, sensitive_facet_index=(feature == category), **kwargs)
return results