AUC值計算(matlab)


終於找到計算AUC值的方法了。。。。SVM與隨機森林分類后都適用。對於SVM分類器,MATLAB有自己的自帶方法plotroc方法,但是對於隨機森林得到的分類模型和預測不適用,以下這個代碼對於哪個都適用(只負責計算AUC值,木有畫出roc曲線功能)

function [result]=AUC(test_targets,output)  
%計算AUC值,test_targets為原始樣本標簽,output為分類器得到的判為正類的概率
% 均為行或列向量  
[A,I]=sort(output);  
M=0;N=0;  
for i=1:length(output)  
    if(test_targets(i)==1)  
        M=M+1;%正類樣本數
    else  
        N=N+1;  %負類樣本數
    end  
end  
sigma=0;  
for i=M+N:-1:1  
    if(test_targets(I(i))==1)  
        sigma=sigma+i;%正類樣本rank相加  
    end  
end
result=(sigma-(M+1)*M/2)/(M*N);  

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM