www.gusucode.com > 超全的模式识别matlab源码程序 > code/Other/ROCC.m
function [false_alarm, hit] = ROCC(patterns, targets) %Generate a receiver operating characteristic curve (ROCC) for 1-D data %Inputs: % patterns - The data from which to estimate % targets - The class for each of the patterns %Outputs: % false_alarm, hit - The x and y axes for the ROCC. % If the function is called without output, the ROCC is plotted Nbins = max(3,floor(length(patterns).^(1/3))); indice0 = find(targets ~= 1); indice1 = find(targets == 1); range = [min(patterns), max(patterns)]; p0 = high_histogram(patterns(:,indice0),Nbins,range); p1 = high_histogram(patterns(:,indice1),Nbins,range); p0 = p0 ./ sum(p0); p1 = p1 ./ sum(p1); false_alarm = 1-cumsum(p0); hit = 1-cumsum(p1); if (nargout == 0), figure plot(false_alarm, hit) xlabel('False alarm') ylabel('Hit rate') end