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
dicts
where the keys areprotected_attribute_names
and the values are values inprotected_attributes
. Eachdict
element describes a single group. See examples for more details. - unprivileged_groups (list(dict)) – Unprivileged groups in the same
format as
privileged_groups
.
Raises: TypeError
–dataset
must be aStructuredDataset
type.ValueError
–privileged_groups
andunprivileged_groups
must 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
difference
Compute difference of the metric for unprivileged and privileged groups. num_instances
Compute the number of instances, \(n\), in the dataset conditioned on protected attributes if necessary. ratio
Compute 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
dicts
where the keys areprotected_attribute_names
and the values are values inprotected_attributes
. Eachdict
element describes a single group. See examples for more details. - unprivileged_groups (list(dict)) – Unprivileged groups in the same
format as
privileged_groups
.
Raises: TypeError
–dataset
must be aStructuredDataset
type.ValueError
–privileged_groups
andunprivileged_groups
must 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 toNone
meaning this metric is computed over the entire dataset.Raises: AttributeError
–privileged_groups
orunprivileged_groups
must be must be provided at initialization to condition on them.