📄 calculateperformance.m
字号:
function [yy, yn, ny, nn, prec, rec, F1, err] = CalculatePerformance(Y_compute, Y_test, class_set, verbosity)
if (nargin <= 3), verbosity = 1; end;
num_class = length(class_set);
if (num_class == 2),
% Make sure it's two-classes cases
yy = sum((Y_compute == class_set(1)) & (Y_test == class_set(1)));
yn = sum((Y_compute ~= class_set(1)) & (Y_test == class_set(1)));
ny = sum((Y_compute == class_set(1)) & (Y_test ~= class_set(1)));
nn = sum((Y_compute ~= class_set(1)) & (Y_test ~= class_set(1)));
prec = NormalizeRatio(yy, yy + ny);
rec = NormalizeRatio(yy, yy + yn);
F1 = NormalizeRatio(2 * prec * rec , prec + rec);
err = NormalizeRatio(sum(Y_compute ~= Y_test), length(Y_test));
fprintf('YY:%d, YN:%d, NY:%d, NN:%d, Prec:%f, Rec:%f, Err:%f, Baseline=%f\n', ...
yy, yn, ny, nn, prec, rec, err, max(sum(Y_test == class_set(1)), sum(Y_test ~= class_set(1))) / length(Y_test));
else
err = NormalizeRatio(sum(Y_compute ~= Y_test), length(Y_test));
prec = 1 - err; rec = 1 - err; F1 = 1 - err;
yy = 0; yn = 0; ny = 0; nn = 0;
fprintf('Prec:%f, Rec:%f, Err:%f\n', prec, rec, err);
if (verbosity == 1),
for i = 1:num_class
for j = 1:num_class
confusion_matrix(i, j) = sum((Y_compute == i) & (Y_test == j));
end;
end;
disp(confusion_matrix);
end;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -