www.gusucode.com > classification_matlab_toolbox分类方法工具箱源码程序 > code/Classification_toolbox/Minimum_Cost.m
function D = Minimum_Cost(train_features, train_targets, lambda, region) % Classify using the minimum error criterion via histogram estimation of the densities % Inputs: % features- Train features % targets - Train targets % lambda - Cost matrix % region - Decision region vector: [-x x -y y number_of_points] % % Outputs % D - Decision sufrace train_one = find(train_targets == 1); train_zero = find(train_targets == 0); P0 = length(train_zero)/length(train_targets); P1 = length(train_one)/length(train_targets); Nbins = max(3,floor(size(train_features,2).^(1/3))); p0 = high_histogram(train_features(:,train_zero),Nbins,region(1:end-1)); p1 = high_histogram(train_features(:,train_one),Nbins,region(1:end-1)); decision = (lambda(2,1) - lambda(1,1))*p0*P0 < (lambda(1,2) - lambda(2,2))*p1*P1; %Make decision region x = linspace(region(1),region(2),region(5)); xx = linspace(region(1),region(2),Nbins); y = linspace(region(3),region(4),region(5)); yy = linspace(region(3),region(4),Nbins); D = interp2(xx, yy', decision, x, y')'>.5;