File Exchange

image thumbnail


version 1.2 (48.8 KB) by

Calculates Area under ROC curve (AUC) for a vector or for each column of a matrix.



View License

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
features, fast.
* 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.

Comments and Ratings (5)


Lee (view profile)

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

JR King

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.

JR King


Daniel (view profile)



added abs=false argument


small corrections

MATLAB Release
MATLAB 7.10 (R2010a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video