bacc {mlr3measures} | R Documentation |
Balanced Accuracy
Description
Measure to compare true observed labels with predicted labels in multiclass classification tasks.
Usage
bacc(truth, response, sample_weights = NULL, ...)
Arguments
truth |
( |
response |
( |
sample_weights |
( |
... |
( |
Details
The Balanced Accuracy computes the weighted balanced accuracy, suitable for imbalanced data sets. It is defined analogously to the definition in sklearn.
First, the sample weights w
are normalized per class:
\hat{w}_i = \frac{w_i}{\sum_j 1(y_j = y_i) w_i}.
The balanced accuracy is calculated as
\frac{1}{\sum_i \hat{w}_i} \sum_i 1(r_i = t_i) \hat{w}_i.
Value
Performance value as numeric(1)
.
Meta Information
Type:
"classif"
Range:
[0, 1]
Minimize:
FALSE
Required prediction:
response
References
Brodersen KH, Ong CS, Stephan KE, Buhmann JM (2010). “The Balanced Accuracy and Its Posterior Distribution.” In 2010 20th International Conference on Pattern Recognition. doi:10.1109/icpr.2010.764.
Guyon I, Bennett K, Cawley G, Escalante HJ, Escalera S, Ho TK, Macia N, Ray B, Saeed M, Statnikov A, Viegas E (2015). “Design of the 2015 ChaLearn AutoML challenge.” In 2015 International Joint Conference on Neural Networks (IJCNN). doi:10.1109/ijcnn.2015.7280767.
See Also
Other Classification Measures:
acc()
,
ce()
,
logloss()
,
mauc_aunu()
,
mbrier()
,
mcc()
,
zero_one()
Examples
set.seed(1)
lvls = c("a", "b", "c")
truth = factor(sample(lvls, 10, replace = TRUE), levels = lvls)
response = factor(sample(lvls, 10, replace = TRUE), levels = lvls)
bacc(truth, response)