Function colAUC calculates Area under ROC curve (AUC) for a vector or for
each column of a matrix.
The main properties of this code:
* Ability to work with multi-dimensional data.
* Ability to work with multi-class datasets.
* Speed - this code was written to calculate AUC's for large number of
* Two different algorithms are provided one based on integrating ROC
curves and one based on Wilcoxon Rank Sum Test aka. Mann-Whitney U Test.
* Function can be used to plot ROC curves.
I'm sorry but it is not clear how to get multiclass auc if I have Y as the true label of 1...c classes and Yest as 1...c column vector with predictive score for each instance belong to certain class. The output auc is a c x c x(c-1)/2 combination in your case, take mean(auc) returns c auc values.
Reply to JR King: See new version
Thanks a lot, very useful.
I would remove the absolute computation: ( auc = 0.5 + abs(0.5-auc);) as it is indicative of the effect direction which is necessary for most statistical analyses.
For ND-array tiedranks you might like http://www.mathworks.com/matlabcentral/fileexchange/34560-tiedrankxdim
added abs=false argument
Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.