holisticai.bias.metrics.frequency_matrix#
- holisticai.bias.metrics.frequency_matrix(p_attr, y_pred, groups=None, classes=None, normalize='group')[source]#
Frequency Matrix
This function computes the frequency matrix. For each group, class pair we compute the count of that group for admission within that class. We include the option to normalise over groups or classes. By default we normalise by ‘group’.
Parameters
- p_attrarray-like
Multiclass protected attribute vector.
- y_predarray-like
Prediction vector (categorical).
- groupslist, optional
Unique groups from p_attr in order
- classeslist, optional
The unique output classes in order
- normalize: str, optional
According to which of group or class we normalize: None, ‘group’ or ‘class’
Returns
- pandas DataFrame
Success Rate Matrix : shape (num_groups, num_classes)
Examples
>>> import numpy as np >>> from holisticai.bias.metrics import frequency_matrix >>> p_attr = np.array(["A", "A", "A", "A", "B", "B", "B", "B", "C", "C"]) >>> y_pred = np.array([0, 1, 2, 0, 1, 2, 0, 1, 2, 0]) >>> frequency_matrix(p_attr, y_pred, normalize="class") 0 1 2 A 0.50 0.25 0.25 B 0.25 0.50 0.25 C 0.50 0.00 0.50