利用perfcurve函數畫ROC和DET等評價曲線

具體使用方法可以參考perfcurve幫助

load heart_scale.mat

model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');
[predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst,model);

[X,Y] =perfcurve(heart_scale_label,dec_values,'1');
%[X,Y] = perfcurve(labels,scores,posclass,'param1', val1,'param2',val2,...)
%labels:目標標籤 scores:決策值 posclass:正類標籤
%'param'和val可以定義X和Y的輸出值,具體可以看函數幫助,默認是定義X軸爲FPR,Y軸爲TPR

plot(X,Y),xlabel('FPR'),ylabel('TPR');%輸出ROC曲線

[X,Y] =perfcurve(heart_scale_label,dec_values,'1','xCrit','FPR','yCrit','FNR');
%重新定義輸出值,'xCrit','FPR'表示定義X輸出爲FPR=FP/(TN+FP),這裏其實就是默認值
%'yCrit','FNR'表示定義y輸出爲FNR=FN/(TP+FN)

figure,plot(X,Y),xlabel('fall'),ylabel('miss');%輸出DET曲線
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章