Computes a composite measure from multiple fairness metrics and aggregates them
using aggfun (defaulting to mean()).
Protected Attributes
The protected attribute is specified as a col_role in the corresponding mlr3::Task():<Task>$col_roles$pta = "name_of_attribute"
This also allows specifying more than one protected attribute,
in which case fairness will be considered on the level of intersecting groups defined by all columns
selected as a predicted attribute.
Super class
mlr3::Measure -> MeasureFairnessComposite
Methods
Method new()
Creates a new instance of this R6 class.
Usage
MeasureFairnessComposite$new(
id = NULL,
measures,
aggfun = function(x) mean(x),
operation = groupdiff_absdiff,
minimize = TRUE,
range = c(-Inf, Inf)
)Arguments
id(
character(1))
Id of the measure. Defaults to the concatenation of ids inmeasure.measures(list of MeasureFairness)
List of fairness measures to aggregate.aggfun(
function())
Aggregation function used to aggregate results from respective measures. Defaults tosum.operation(
function())
The operation used to compute the difference. A function that returns a single value given input: computed metric for each subgroup. Defaults togroupdiff_absdiff. SeeMeasureFairnessfor more information.minimize(
logical(1))
Should the measure be minimized? Defaults toTRUE.range(
numeric(2))
Range of the resulting measure. Defaults toc(-Inf, Inf).
Examples
library("mlr3")
# Equalized Odds Metric
MeasureFairnessComposite$new(measures = msrs(c("fairness.fpr", "fairness.tpr")))
#>
#> ── <MeasureFairnessComposite> (fairness.fpr_tpr) ───────────────────────────────
#> • Packages: mlr3 and mlr3fairness
#> • Range: [-Inf, Inf]
#> • Minimize: TRUE
#> • Average: macro
#> • Parameters: list()
#> • Properties: requires_task
#> • Predict type: response
#> • Predict sets: test
#> • Aggregator: mean()
# Other metrics e.g. based on negative rates
MeasureFairnessComposite$new(measures = msrs(c("fairness.fnr", "fairness.tnr")))
#>
#> ── <MeasureFairnessComposite> (fairness.fnr_tnr) ───────────────────────────────
#> • Packages: mlr3 and mlr3fairness
#> • Range: [-Inf, Inf]
#> • Minimize: TRUE
#> • Average: macro
#> • Parameters: list()
#> • Properties: requires_task
#> • Predict type: response
#> • Predict sets: test
#> • Aggregator: mean()