I'm using the AI Fairness 360 package to get fairness metrics on a dataset. I've already converted the data to a StandardDataset
instance. If I understand correctly, this will change all values of protected attributes to 1 or 0: 1 meaning "belongs the a privileged group for this attribute", and 0 meaning "belongs to an unprivileged group for this attribute".
When calculating fairness metrics, I need to create a BinaryLabelDatasetMetric
instance for which I need to specify which combinations of protected attributes I consider my privileged/unprivileged groups. But why do I need to provide the attribute values that are privileged/unprivileged? After converting to a StandardDataset
all privileged values are 1 and unprivileged are 0. Am I missing something? Because if not, just coding it as always 1 is much easier.
So in summary, my question is: can the values for protected attributes in a StandardDataset
ever be anything other than 1 or 0? If yes, in what case? (If no, it seems the API could be simplified a lot, by just requiring the names of the protected attributes and not the values.)