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:
w_hat[i] = w[i] / sum((t == t[i]) * w[i]).
The balanced accuracy is calculated as
1 / sum(w_hat) * sum((r == t) * w_hat).
bacc(truth, response, sample_weights = NULL, ...)
truth |
( |
response |
( |
sample_weights |
( |
... |
( |
Performance value as numeric(1)
.
Type: "classif"
Range: [0, 1]
Minimize: FALSE
Required prediction: response
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.
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)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.