Code covered by the BSD License  

Highlights from
Computing the posterior balanced accuracy

image thumbnail

Computing the posterior balanced accuracy

by

 

A set of MATLAB functions for evaluating generalization performance in binary classification.

bacc_mean(C)
% Expected value of the balanced accuracy (i.e., the mean of the average of
% two random variables that are independently distributed according to Beta
% distributions.)
%
% Usage:
%     b = bacc_mean(C)
%
% Arguments:
%     C - 2x2 confusion matrix of classification outcomes. This matrix
%         needs to be of the form C = [a b; c d] where
%         <a> is the number of true positives
%         <b> is the number of false negatives
%         <c> is the number of false positives
%         <d> is the number of true negatives
%         In other words: rows are true classes, columns are estimated
%         classes.
% 
% Literature:
%     K.H. Brodersen, C.S. Ong, K.E. Stephan, J.M. Buhmann (2010).
%     The balanced accuracy and its posterior distribution. In: Proceedings
%     of the 20th International Conference on Pattern Recognition.

% Kay H. Brodersen, ETH Zurich, Switzerland
% http://people.inf.ethz.ch/bkay/
% $Id: bacc_mean.m 8245 2010-10-22 12:57:51Z bkay $
% -------------------------------------------------------------------------
function b = bacc_mean(C)
    
    A1 = C(1,1) + 1;
    B1 = C(1,2) + 1;
    A2 = C(2,2) + 1;
    B2 = C(2,1) + 1;
    
    res = 0.001;
    x = 0:res:2;
    c = betaconv(res, A1, B1, A2, B2);
    b = sum(x.*c/2) * res;
    
end

Contact us