aif360.metrics.DatasetMetric¶
-
class
aif360.metrics.DatasetMetric(dataset, unprivileged_groups=None, privileged_groups=None)[source]¶ Class for computing metrics based on one StructuredDataset.
Parameters: - dataset (StructuredDataset) – A StructuredDataset.
- privileged_groups (list(dict)) – Privileged groups. Format is a list
of
dictswhere the keys areprotected_attribute_namesand the values are values inprotected_attributes. Eachdictelement describes a single group. See examples for more details. - unprivileged_groups (list(dict)) – Unprivileged groups in the same
format as
privileged_groups.
Raises: TypeError–datasetmust be aStructuredDatasettype.ValueError–privileged_groupsandunprivileged_groupsmust be disjoint.
Examples
>>> from aif360.datasets import GermanDataset >>> german = GermanDataset() >>> u = [{'sex': 1, 'age': 1}, {'sex': 0}] >>> p = [{'sex': 1, 'age': 0}] >>> dm = DatasetMetric(german, unprivileged_groups=u, privileged_groups=p)
Methods
differenceCompute difference of the metric for unprivileged and privileged groups. num_instancesCompute the number of instances, \(n\), in the dataset conditioned on protected attributes if necessary. ratioCompute ratio of the metric for unprivileged and privileged groups. -
__init__(dataset, unprivileged_groups=None, privileged_groups=None)[source]¶ Parameters: - dataset (StructuredDataset) – A StructuredDataset.
- privileged_groups (list(dict)) – Privileged groups. Format is a list
of
dictswhere the keys areprotected_attribute_namesand the values are values inprotected_attributes. Eachdictelement describes a single group. See examples for more details. - unprivileged_groups (list(dict)) – Unprivileged groups in the same
format as
privileged_groups.
Raises: TypeError–datasetmust be aStructuredDatasettype.ValueError–privileged_groupsandunprivileged_groupsmust be disjoint.
Examples
>>> from aif360.datasets import GermanDataset >>> german = GermanDataset() >>> u = [{'sex': 1, 'age': 1}, {'sex': 0}] >>> p = [{'sex': 1, 'age': 0}] >>> dm = DatasetMetric(german, unprivileged_groups=u, privileged_groups=p)
-
difference(metric_fun)[source]¶ Compute difference of the metric for unprivileged and privileged groups.
-
num_instances(privileged=None)[source]¶ Compute the number of instances, \(n\), in the dataset conditioned on protected attributes if necessary.
Parameters: privileged (bool, optional) – Boolean prescribing whether to condition this metric on the privileged_groups, ifTrue, or theunprivileged_groups, ifFalse. Defaults toNonemeaning this metric is computed over the entire dataset.Raises: AttributeError–privileged_groupsorunprivileged_groupsmust be must be provided at initialization to condition on them.