ROC Curve

MATLAB function which performs a ROC curve of two-class data.

You are now following this Submission

This function calculates the Receiver Operating Characteristic curve, which represents the 1-specificity and sensitivity of two classes of data, (i.e., class_1 and class_2).

The function also returns all the needed quantitative parameters: threshold position, distance to the optimum point, sensitivity, specificity, accuracy, area under curve (AROC), positive and negative predicted values (PPV, NPV), false negative and positive rates (FNR, FPR), false discovery rate (FDR), false omission rate (FOR), F1 score, Matthews correlation coefficient (MCC), Informedness (BM) and Markedness; as well as the number of true positives (TP), true negatives (TN), false positives (FP), and false negatives (FN).

Example of use:
class_1 = 0.5*randn(100,1);
class_2 = 0.5+0.5*randn(100,1);
roc_curve(class_1, class_2);

Cite As

Víctor Martínez-Cagigal (2026). ROC Curve (https://www.mathworks.com/matlabcentral/fileexchange/52442-roc-curve), MATLAB Central File Exchange. Retrieved .

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
3.1

All parameters are now printed in the CMD.

3.0

The function now outputs more parameters.

2.1.0.0

Classes are now indicated separately.

2.0.0.0

Different sizes in class_1 and class_2 are now allowed.

1.1.0.0

Fixed a bug in the output data.

1.0.0.0