function D = C4_5(train_features, train_targets, inc_node, region) % Classify using Quinlan's C4
5 algorithm % Inputs: % features - Train features % targets - Train targets % inc_node - Percentage of incorrectly assigned samples at a node % region - Decision region vector: [-x x -y y number_of_points] % % Outputs % D - Decision sufrace %NOTE: In this implementation it is assumed that a feature vector with fewer than 10 unique values (the parameter Nu) %is discrete, and will be treated as such
Other vectors will be treated as continuous [Ni, M] = size(train_features); inc_node = inc_node*M/100; Nu = 10; %For the decision region N = region(5); mx = ones(N,1) * linspace (region(1),region(2),N); my = linspace (region(3),region(4),N)' * ones(1,N); flatxy = [mx(:), my(:)]'; %Prep