Nothing
## ---- include = FALSE---------------------------------------------------------
library(mlr3)
library(mlr3fairness)
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>"
)
## ---- echo = FALSE------------------------------------------------------------
knitr::kable(mlr3fairness:::mlr_measures_fairness)
## -----------------------------------------------------------------------------
library(mlr3fairness)
library(mlr3learners)
t = tsk("adult_train")$filter(1:1000)
t$col_roles$pta
## -----------------------------------------------------------------------------
l = lrn("classif.ranger")
l$train(t)
## -----------------------------------------------------------------------------
test = tsk("adult_test")
prd = l$predict(test)
## -----------------------------------------------------------------------------
prd$score(msr("fairness.tpr"), task = test)
## -----------------------------------------------------------------------------
meas = groupwise_metrics(msr("classif.tpr"), test)
prd$score(meas, task = test)
## -----------------------------------------------------------------------------
# Binary Class false positive rates
msr("classif.fpr")
## -----------------------------------------------------------------------------
m1 = MeasureFairness$new(base_measure = msr("classif.fpr"), operation = function(x) {abs(x[1] - x[2])})
m1
## -----------------------------------------------------------------------------
m2 = msr("fairness", operation = groupdiff_absdiff, base_measure = msr("classif.tpr"))
## -----------------------------------------------------------------------------
m2 = msr("fairness", operation = groupdiff_absdiff, base_measure = msr("regr.mse"))
## -----------------------------------------------------------------------------
ms = list(msr("fairness.fnr"), msr("fairness.tnr"))
ms
m = MeasureFairnessComposite$new(measures = ms, aggfun = mean)
## ---- warning = FALSE---------------------------------------------------------
design = benchmark_grid(
tasks = tsks("adult_train"),
learners = lrns(c("classif.ranger", "classif.rpart"),
predict_type = "prob", predict_sets = c("train", "test")),
resamplings = rsmps("cv", folds = 3)
)
bmr = benchmark(design)
# Operations have been set to `groupwise_quotient()`
measures = list( msr("fairness.tpr"), msr("fairness.npv"), msr("fairness.acc"), msr("classif.acc") )
tab = bmr$aggregate(measures)
tab
## -----------------------------------------------------------------------------
msr("fairness.acc", operation = groupdiff_diff)
## -----------------------------------------------------------------------------
t = tsk("adult_train")$filter(1:1000)
mm = msr("fairness.acc", operation = function(x) {x["Female"]})
l = lrn("classif.rpart")
prds = l$train(t)$predict(t)
prds$score(mm, t)
## -----------------------------------------------------------------------------
# Get adult data as a data.table
train = tsk("adult_train")$data()
mod = rpart::rpart(target ~ ., train)
# Predict on test data
test = tsk("adult_test")$data()
yhat = predict(mod, test, type = "vector")
# Convert to a factor with the same levels
yhat = as.factor(yhat)
levels(yhat) = levels(test$target)
compute_metrics(
data = test,
target = "target",
prediction = yhat,
protected_attribute = "sex",
metrics = msr("fairness.acc")
)
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.