How to use ROC FUNCTION in MATLAB
1 次查看(过去 30 天)
显示 更早的评论
Dear Matlab user, I have difficulties in applying the ROC FUNCTION. Let have the discussion by having a simple example.
Assume, we have the true condition and predicted condition represent by the vector actual and predicted, respectively.
actual = [1;1;1;1;1;1;1;0;0;0]; % targets
predicted = [1;1;1;1;1;0;0;1;0;0]; % outputs.
Manual calculate the True positive rate (FPR) and false positive rate (FPR) yield 5/7 and 1/3, respectively. The figure below show the confusion matrix and the calculation

However, by using the ROC FUNCTION, MATLAB give 1x10 and 1x10 instead of a single value for each of the TPR and FPR (i.e., 5/7 & 1/3).
[tpr,fpr,th] = roc(actual,predicted);
In this case, I thing I have misunderstood the usage of ROC function. I really appreciate if someone can show what and how to use the ROC function, correctly
Thanks in advance.
0 个评论
采纳的回答
Star Strider
2017-8-12
They apparently need to be row vectors. (I found the documentation a bit confusing, but then I do not use these functions frequently.)
[tpr,fpr,th] = roc(actual',predicted')
and using format rat, produces:
tpr =
0 5/7
fpr =
0 1/3
th =
1 0
7 个评论
Star Strider
2017-8-12
I am having a very difficult time reconciling the information you are giving the roc function with the documentation for it. The ‘actual’ and ‘predicted’ matrices need to be the same size. This may be the reason you are having problems with it.
Please run the ‘iris data’ demo code in the roc dicumentation to see what the function expects.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Get Started with Statistics and Machine Learning Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!