5
5
import numpy as np
6
6
import pandas as pd
7
7
from jpype import JInt
8
- from org .kie .trustyai .explainability .metrics import FairnessMetrics
8
+ from org .kie .trustyai .metrics .fairness .group import (
9
+ DisparateImpactRatio ,
10
+ GroupStatisticalParityDifference ,
11
+ GroupAverageOddsDifference ,
12
+ GroupAveragePredictiveValueDifference ,
13
+ )
9
14
10
15
from trustyai .model import Value , PredictionProvider , Model
11
16
from trustyai .utils .data_conversions import (
@@ -37,7 +42,7 @@ def statistical_parity_difference(
37
42
) -> float :
38
43
"""Calculate Statistical Parity Difference between privileged and unprivileged dataframes"""
39
44
favorable_prediction_object = one_output_convert (favorable )
40
- return FairnessMetrics . groupStatisticalParityDifference (
45
+ return GroupStatisticalParityDifference . calculate (
41
46
to_trusty_dataframe (
42
47
data = privileged , outputs = outputs , feature_names = feature_names
43
48
),
@@ -63,7 +68,7 @@ def statistical_parity_difference_model(
63
68
_jsamples = to_trusty_dataframe (
64
69
data = samples , no_outputs = True , feature_names = feature_names
65
70
)
66
- return FairnessMetrics . groupStatisticalParityDifference (
71
+ return GroupStatisticalParityDifference . calculate (
67
72
_jsamples ,
68
73
model ,
69
74
_column_selector_to_index (privilege_columns , samples ),
@@ -81,7 +86,7 @@ def disparate_impact_ratio(
81
86
) -> float :
82
87
"""Calculate Disparate Impact Ration between privileged and unprivileged dataframes"""
83
88
favorable_prediction_object = one_output_convert (favorable )
84
- return FairnessMetrics . groupDisparateImpactRatio (
89
+ return DisparateImpactRatio . calculate (
85
90
to_trusty_dataframe (
86
91
data = privileged , outputs = outputs , feature_names = feature_names
87
92
),
@@ -107,7 +112,7 @@ def disparate_impact_ratio_model(
107
112
_jsamples = to_trusty_dataframe (
108
113
data = samples , no_outputs = True , feature_names = feature_names
109
114
)
110
- return FairnessMetrics . groupDisparateImpactRatio (
115
+ return DisparateImpactRatio . calculate (
111
116
_jsamples ,
112
117
model ,
113
118
_column_selector_to_index (privilege_columns , samples ),
@@ -135,7 +140,7 @@ def average_odds_difference(
135
140
_positive_class = [Value (v ) for v in positive_class ]
136
141
# determine privileged columns
137
142
_privilege_columns = _column_selector_to_index (privilege_columns , test )
138
- return FairnessMetrics . groupAverageOddsDifference (
143
+ return GroupAverageOddsDifference . calculate (
139
144
to_trusty_dataframe (data = test , outputs = outputs , feature_names = feature_names ),
140
145
to_trusty_dataframe (data = truth , outputs = outputs , feature_names = feature_names ),
141
146
_privilege_columns ,
@@ -160,7 +165,7 @@ def average_odds_difference_model(
160
165
_positive_class = [Value (v ) for v in positive_class ]
161
166
# determine privileged columns
162
167
_privilege_columns = _column_selector_to_index (privilege_columns , samples )
163
- return FairnessMetrics . groupAverageOddsDifference (
168
+ return GroupAverageOddsDifference . calculate (
164
169
_jsamples , model , _privilege_columns , _privilege_values , _positive_class
165
170
)
166
171
@@ -182,7 +187,7 @@ def average_predictive_value_difference(
182
187
_privilege_values = [Value (v ) for v in privilege_values ]
183
188
_positive_class = [Value (v ) for v in positive_class ]
184
189
_privilege_columns = _column_selector_to_index (privilege_columns , test )
185
- return FairnessMetrics . groupAveragePredictiveValueDifference (
190
+ return GroupAveragePredictiveValueDifference . calculate (
186
191
to_trusty_dataframe (data = test , outputs = outputs , feature_names = feature_names ),
187
192
to_trusty_dataframe (data = truth , outputs = outputs , feature_names = feature_names ),
188
193
_privilege_columns ,
@@ -205,6 +210,6 @@ def average_predictive_value_difference_model(
205
210
_positive_class = [Value (v ) for v in positive_class ]
206
211
# determine privileged columns
207
212
_privilege_columns = _column_selector_to_index (privilege_columns , samples )
208
- return FairnessMetrics . groupAveragePredictiveValueDifference (
213
+ return GroupAveragePredictiveValueDifference . calculate (
209
214
_jsamples , model , _privilege_columns , _privilege_values , _positive_class
210
215
)
0 commit comments