How can I plot ROC and identify AUC value from SVM classification output ?

10 次查看(过去 30 天)
Hi everyone
I try to classify binary classification problem from input data name "pred" and target data are "resp". These two files that attach below.In raw data, pred contain 96 features of 199 instances to be input data. Moreover, resp contain binary class (0 and 1) represent normal and abnormal power usage, respectively. The aim of this program are show ROC and calculate AUC of classification model by using SVM. I use some code like this
mdlSVM = fitcsvm(pred,resp,'Standardize',true);
mdlSVM = fitPosterior(mdlSVM);
[~,score_svm] = resubPredict(mdlSVM);
[Xsvm,Ysvm,Tsvm,AUCsvm] = perfcurve(resp,score_svm(:,mdlSVM.ClassNames),1);
plot(Xsvm,Ysvm)
However, The matlab software show this error "Subscript indices must either be real positive integers or logicals.". How can I fix it out to show ROC and AUC of this problem.
Thanks in advance

回答(1 个)

Md Habib Ullah
Md Habib Ullah 2018-8-19
Make sure you "resp" is logical '1' or '0'.

类别

Help CenterFile Exchange 中查找有关 ROC - AUC 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by