Bias mitigation AIF 360 DataFrame values must be numerical

565 Views Asked by At

I am trying to mitigate bias on the original df by applying Reweighting or Disparate Impact Remover, but I cannot move forward sinceI get a ValueError: DataFrame values must be numerical.

Income and gender are integers.

binaryLabelDataset = aif360.datasets.BinaryLabelDataset(
    favorable_label=1,
    unfavorable_label=0,
    df= df,
    label_names=['income'],
    protected_attribute_names=['gender'])

Any idea how I can make it work?

Thanks!

1

There are 1 best solutions below

0
Julz On

Converting all the values in the dataframe into numerical values worked for me.

For instance:

df['gender'] = df['gender'].apply(lambda x: 0 if x=="male" else 1)