Error in finding precision recall curve

2 views (last 30 days)
Hello
I need to find precision recall curve. I am following https://www.mathworks.com/help/stats/perfcurve.html#bunsogv-XCrit to do so.
I change the x and y output type by using Xcrit and Ycrit as mentioned in link. I got same XCrit values after changing its type. Similarly with YCrit.
I run
[XCrit1,tpr,YCrit1,ppv] = perfcurve(Y,diffscore1,'HandGrip');
[XCrit2,ppv,YCrit2,tpr] = perfcurve(Y,diffscore1,'HandGrip'); % code run but
[XCrit3,tp,YCrit3,tp] = perfcurve(Y,diffscore1,'HandGrip'); % code run but
[XCrit4,ecost,YCrit4,ecost] = perfcurve(Y,diffscore1,'HandGrip');
value of XCrit1,2,3,4 are same and YCrit1,2,3,4 are same.
Please tell my mistakes.
Thanks

Accepted Answer

Walter Roberson
Walter Roberson on 8 Jul 2021
Changing the names of the output variables does not have any effect. You need to change options passed in. Also, your output variable names suggested that you do not understand the output variables.
[XCrit1, YCrit1] = perfcurve(Y, diffscore1, 'HandGrip', 'XCrit', 'ppv');
[XCrit2, YCrit2] = perfcurve(Y, diffscore1, 'HandGrip', 'XCrit', 'tpr');
[XCrit3, YCrit3] = perfcurve(Y, diffscore1, 'HandGrip', 'XCrit', 'tp');
[XCrit4, YCrit4] = perfcurve(Y, diffscore1, 'HandGrip', 'XCrit', 'ecost');
  1 Comment
Ali Asghar
Ali Asghar on 9 Jul 2021
Walter Roberson
Thank you very much for reply.
I want to find tpr on XCrit and ppv on YCrit so is the below code correct?
[XCrit1, YCrit1, T, AUC11] = perfcurve(Y, diffscore1, 'HandGrip', 'XCrit', 'tpr', 'YCrit', 'ppv');

Sign in to comment.

More Answers (0)

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!