def metric_one_vs_all()

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