load IrisDataX; X=X'; [nr,nc]=size(X); T=[ones(1,50), zeros(1,100); zeros(1,50), ones(1,50), zeros(1,50); zeros(1,100), ones(1,50)]; hatX=[X;ones(1,nc)]; hatW=T/hatX; Y=hatW*hatX; %Output the classifier [vals,idx]=max(Y,[],1); %Tell us which class [vals,idx2]=max(T,[],1); %For comparison purposes Classes=zeros(3,1); % Keeps track of how many in each class Confusion=zeros(3,3); for j=1:nc Confusion(idx(j),idx2(j))=Confusion(idx(j),idx2(j))+1; Classes(idx2(j))=Classes(idx2(j))+1; end %To get percentages, divide each column by its number of classes: Confusion=Confusion./repmat(Classes',3,1);