balacc function

Balanced Accuracy

Balanced Accuracy

It estimates the balanced accuracy for a nominal/categorical predicted-observed dataset.

balacc(data = NULL, obs, pred, pos_level = 2, tidy = FALSE, na.rm = TRUE)

Arguments

  • data: (Optional) argument to call an existing data frame containing the data.
  • obs: Vector with observed values (character | factor).
  • pred: Vector with predicted values (character | factor).
  • pos_level: Integer, for binary cases, indicating the order (1|2) of the level corresponding to the positive. Generally, the positive level is the second (2) since following an alpha-numeric order, the most common pairs are (Negative | Positive), (0 | 1), (FALSE | TRUE). Default : 2.
  • tidy: Logical operator (TRUE/FALSE) to decide the type of return. TRUE returns a data.frame, FALSE returns a list; Default : FALSE.
  • na.rm: Logic argument to remove rows with missing values (NA). Default is na.rm = TRUE.

Returns

an object of class numeric within a list (if tidy = FALSE) or within a data frame (if tidy = TRUE).

Details

The balanced accuracy is the average between recall and specificity. It is particularly useful when the number of observation belonging to each class is despair or imbalanced, and when especial attention is given to the negative cases. It is bounded between 0 and 1. Values towards zero indicate low performance. The closer to 1 the better.

For the formula and more details, see online-documentation

Examples

set.seed(123) # Two-class binomial_case <- data.frame(labels = sample(c("True","False"), 100, replace = TRUE), predictions = sample(c("True","False"), 100, replace = TRUE)) # Multi-class multinomial_case <- data.frame(labels = sample(c("Red","Blue", "Green"), 100, replace = TRUE), predictions = sample(c("Red","Blue", "Green"), 100, replace = TRUE) ) # Get balanced accuracy estimate for two-class case balacc(data = binomial_case, obs = labels, pred = predictions, tidy = TRUE) # Get balanced accuracy estimate for the multi-class case balacc(data = multinomial_case, obs = labels, pred = predictions, tidy = TRUE)

References

García, V., Mollineda, R.A., Sánchez, J.S. (2009). Index of Balanced Accuracy: A Performance Measure for Skewed Class Distributions. In: Araujo, H., Mendonça, A.M., Pinho, A.J., Torres, M.I. (eds) Pattern Recognition and Image Analysis.

IbPRIA 2009. Lecture Notes in Computer Science, vol 5524.

Springer-Verlag Berlin Heidelberg. tools:::Rd_expr_doi("10.1007/978-3-642-02172-5_57")

  • Maintainer: Adrian A. Correndo
  • License: MIT + file LICENSE
  • Last published: 2024-06-30