This package contains a set of Perl programs for generating and manipulating ROC curves. They are based on the algorithms in "ROC Graphs: Notes and Practical Considerations for Researchers". There are several versions of this article. This is the original (and longest) version, which mentions the software:
Tom Fawcett (2003). "ROC Graphs: Notes and Practical Considerations for Researchers", HP Labs Tech Report HPL-2003-4. Available from: http://www.purl.org/net/tfawcett/papers/ROC101.pdf
Please cite this paper if you use these programs in a published work.
A shorter, more polished version was published as:
Tom Fawcett (2006). "An Introduction to ROC Analysis", Pattern Recognition Letters, Volume 27, Issue 8, Pages 861-874. Available from: http://dx.doi.org/10.1016/j.patrec.2005.10.010
Very little is needed to run these programs, other than a working Perl interpreter. See the file INSTALL for details.
The program ROC.pl generates ROC curves (algorithm 2) and calculates the area under the ROC curve (algorithm 3). Since these are so similar, one program does both. The program vertical_average.pl implements algorithm 4, and threshold_average.pl implements algorithm 5. Note that threshold_average.pl can actually select threshold partitions in one of two ways: by frequency and by range. Algorithm 5 in the paper does it by frequency, whereas by range makes slightly more sense, so that is the default of threshold_average.pl. It shouldn't make much difference except in degenerate cases.
ROC CONVEX HULL
If you're interested in computing the ROC convex hull, see a related publicly available perl script, ROCCH, available from:
- Changes to previous version:
Initial Announcement on mloss.org.
Leave a comment
You must be logged in to post comments.