Skip to contents

A fairness tensor is a list of groupwise confusion matrices.

Usage

fairness_tensor(object, normalize = "all", ...)

# S3 method for class 'data.table'
fairness_tensor(object, normalize = "all", task, ...)

# S3 method for class 'PredictionClassif'
fairness_tensor(object, normalize = "all", task, ...)

# S3 method for class 'ResampleResult'
fairness_tensor(object, normalize = "all", ...)

Arguments

object

(data.table() | PredictionClassif | ResampleResult)
A data.table with columns truth and prediction, a PredictionClassif or a ResampleResult.

normalize

(character)
How should the fairness tensor be normalized? "all" normalizes entries by dividing by dataset size, "group" normalizes entries by dividing by group size and "none" does not conduct any normalization at all.

...

any
Currently not used.

task

(TaskClassif)
A TaskClassif. Needs col_role "pta" to be set.

Value

list() of confusion matrix for every group in "pta".

Protected Attributes

The protected attribute is specified as a col_role in the corresponding 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.

Examples

library("mlr3")
task = tsk("compas")
prediction = lrn("classif.rpart")$train(task)$predict(task)
fairness_tensor(prediction, task = task)
#> $Male
#>         truth
#> response         0         1
#>        0 0.3956578 0.0000000
#>        1 0.0257615 0.3882048
#> 
#> $Female
#>         truth
#> response           0           1
#>        0 0.119896306 0.000000000
#>        1 0.003564485 0.066915100
#>