MATLAB中的混淆矩阵的实现

来源:互联网 发布:美国黑人政治正确知乎 编辑:程序博客网 时间:2024/06/07 10:07



混淆矩阵的matlab代码实现:

actual:就是我们已知的label。

detected是我们通过模型预测得到的label

结合下面语句实现:

 [pred,acc,preb] = svmpredict(double(testLabel), testData, model, '-b 1');



 function confusion_matrix(actual,detected) [mat,order] = confusionmat(actual,detected); %mat = rand(10);           %# A 5-by-5 matrix of random values from 0 to 1% mat(3,3) = 0;            %# To illustrate% mat(5,2) = 0;            %# To illustrateimagesc(mat);            %# Create a colored plot of the matrix valuescolormap(flipud(gray));  %# Change the colormap to gray (so higher values are                         %#   black and lower values are white)textStrings = num2str(mat(:),'%0.02f');  %# Create strings from the matrix valuestextStrings = strtrim(cellstr(textStrings));  %# Remove any space padding%% ## New code: ###%idx = find(strcmp(textStrings(:), '0.00'));%textStrings(idx) = {'   '};%% ################[x,y] = meshgrid(1:5);   %# Create x and y coordinates for the stringshStrings = text(x(:),y(:),textStrings(:),...      %# Plot the strings                'HorizontalAlignment','center');midValue = mean(get(gca,'CLim'));  %# Get the middle value of the color rangetextColors = repmat(mat(:) > midValue,1,3);  %# Choose white or black for the                                             %#   text color of the strings so                                             %#   they can be easily seen over                                             %#   the background colorset(hStrings,{'Color'},num2cell(textColors,2));  %# Change the text colorsset(gca,'XTick',1:5,...                         %# Change the axes tick marks        'XTickLabel',{'Bob','Hyt','Maple','Study','Zm'},...  %#   and tick labels        'YTick',1:5,...        'YTickLabel',{'Bob','Hyt','Maple','Study','Zm'},...        'TickLength',[0 0]);



结果是:



0 0
原创粉丝点击