⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculateperformance.m

📁 一个matlab的工具包,里面包括一些分类器 例如 KNN KMEAN SVM NETLAB 等等有很多.
💻 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 + -