我想使用AIF360计算群体公平性指标。这是一个示例数据集和模型,其中性别是受保护的属性,收入是目标。
import pandas as pd
from sklearn.svm import SVC
from aif360.sklearn import metrics
df = pd.DataFrame({'gender': [0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1],
'experience': [0, 0.1, 0.2, 0.4, 0.5, 0.6, 0, 0.1, 0.2, 0.4, 0.5, 0.6],
'income': [0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1]})
clf = SVC(random_state=0).fit(df[['gender', 'experience']], df['income'])
y_pred = clf.predict(df[['gender', 'experience']])
metrics.statistical_parity_difference(y_true=df['income'], y_pred=y_pred, prot_attr='gender', priv_group=1, pos_label=1)
它抛出:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-7-609692e52b2a> in <module>
11 y_pred = clf.predict(X)
12
---> 13 metrics.statistical_parity_difference(y_true=df['income'], y_pred=y_pred, prot_attr='gender', priv_group=1, pos_label=1)
TypeError: statistical_parity_difference() got an unexpected keyword argument 'y_true'
类似的错误disparate_impact_ratio
。似乎数据需要以不同的方式输入,但我一直无法弄清楚如何输入。
慕娘9325324
Qyouu
哆啦的时光机
相关分类