ROC plots receiver operator curve and computes derived statistics. computes the ROC curve, and a number of derived paramaters include AUC, optimal threshold values, corresponding confusion matrices, etc. Remark: if the sample values in d are not unique, there is a certain ambiguity in the results; the results may vary depending on on the ordering of the samples. Usually, this is only an issue, if the number of unique data value is much smaller than the total number of samples. Tratitionally, ROC was defined in the "Biosig for Octave and matlab" toolbox, later an ROC function became available in Matlab's NNET (Deep Learning) toolbox with a different usage interface. Therfore, there are different usage-styles. Usage (traditional/biosig style): RES = roc(d, c); RES = roc(d1, d0); RES = roc(...); RES = roc(...,'flag_plot'); RES = roc(..., s); plot ROC curve, including suggested thresholds In order to speed up the plotting, no more than 10000 data points are displayed. If you need more, you need to change the source code). The ROC curve can be plotted with plot(RES.FPR*100, RES.TPR*100); Usage style compatible with matlab's roc implementation: [TPR, FPR, THRESHOLDS] = ROC(targets, outputs) matlab-style interface for compatibiliy with Matlab's ROC implementation; Note that the input arguments are reversed; targets correspond to c, and outputs correspond to d. INPUT: d DATA, c CLASS, vector with 0 and 1 d1 DATA of class 1 d2 DATA of class 0 s line style (as used in plot) targets DATA, when using matlab-style ROC outputs CLASS when using matlab-style ROC OUTPUT: TPR true positive rate FPR false positive rate THRESHOLDS corresponding Threshold values ACC accuracy AUC area under ROC curve Yi max(SEN+SPEC-1), Youden index c TH(c) is the threshold that maximizes Yi RES is a structure and provides many more results including optimum threshold values, correpinding confusion matrices, etc. RES.THRESHOLD.FPR returns the threshold value to obtain the given FPR rate. RES.THRESHOLD.{maxYI,maxACC,maxKAPPA,maxMCC,maxMI,maxF1,maxPHI} return the threshold obtained from maximum Youden Index (YI), Accuracy, Cohen's Kappa [3], Matthews correlation coefficient [2] (also known as Phi coefficient [1]), Mutual information, and F1 score [4], resp. RES.TH([RES.THRESHOLD.maxYIix, RES.THRESHOLD.maxACCix, RES.THRESHOLD.maxKAPPAix, RES.THRESHOLD.maxMCCix, RES.THRESHOLD.maxMIix, RES.THRESHOLD.maxF1ix]) return the optimal threshold for the respective measure. RES.H_kappa: confusion matrix when Threshold of maximum Kappa is applied. RES.H_{yi,acc,kappa,mcc,mi,f1,phi}: confusion matrix when threshold of optimum {...} is applied. Its structure is [TN, FN; FP; TP]. see also: AUC, PLOT, ROC References: [0] https://en.wikipedia.org/wiki/ROC_curve [1] https://en.wikipedia.org/wiki/Phi_coefficient [2] https://en.wikipedia.org/wiki/Matthews_correlation_coefficient [3] https://en.wikipedia.org/wiki/Cohen%27s_kappa [4] https://en.wikipedia.org/wiki/F1_score [5] A. Schlögl, J. Kronegg, J.E. Huggins, S. G. Mason; Evaluation criteria in BCI research. (Eds.) G. Dornhege, J.R. Millan, T. Hinterberger, D.J. McFarland, K.-R.Müller; Towards Brain-Computer Interfacing, MIT Press, 2007, p.327-342
Package: nan