Learn R Programming

fairmodels (version 1.1.0)

fairness_heatmap: Fairness heatmap

Description

Create fairness_heatmap object to compare both models and metrics. If parameter scale is set to TRUE metrics will be scaled to median = 0 and sd = 1. If NA's appear heatmap will still plot, but with gray area where NA's were.

Usage

fairness_heatmap(x, scale = FALSE)

Arguments

x

object of class fairness_object

scale

logical, if codeTRUE metrics will be scaled to mean 0 and sd 1. Default FALSE

Value

fairness_heatmap object.

It is a list with following fields:

  • heatmap_data - data.frame with information about score for model and parity loss metric

  • matrix_model - matrix used in dendogram plots

  • scale - logical parameter passed to fairness_heatmap

  • label - character, vector of model labels

Examples

Run this code
# NOT RUN {
data("german")

y_numeric <- as.numeric(german$Risk) -1

lm_model <- glm(Risk~.,
                data = german,
                family=binomial(link="logit"))

rf_model <- ranger::ranger(Risk ~.,
                           data = german,
                           probability = TRUE,
                           num.trees = 200,
                           num.threads = 1)

explainer_lm <- DALEX::explain(lm_model, data = german[,-1], y = y_numeric)
explainer_rf <- DALEX::explain(rf_model, data = german[,-1], y = y_numeric)

fobject <- fairness_check(explainer_lm, explainer_rf,
                          protected = german$Sex,
                          privileged = "male")

 # same explainers with different cutoffs for female
fobject <- fairness_check(explainer_lm, explainer_rf, fobject,
                          protected = german$Sex,
                          privileged = "male",
                          cutoff = list(female = 0.4),
                          label = c("lm_2", "rf_2"))


fh <- fairness_heatmap(fobject)

plot(fh)

# }

Run the code above in your browser using DataLab