پرسشکده مرجع پرسش و پاسخ فارسی ایران

مسئله‌ی مهم آن است که هرگز از سؤال‌کردن دست برندارید. برای هر حس کنجکاوی، یک پاسخ وجود دارد.

نمی دانید؟! بپرسید!

می دانید؟! پاسخ دهید!


آیا برای محاسبه sensetivity و specificity متلب تابع خاصی دارد؟

1 پاسخ 1

اگر جعبه ابزار بیوانفورماتیک نصب کرده باشید می توانید از تابع classperf استفاده کنید.
درضمن می توانید از تکه کد زیر برای محاسبه انواع معیار (14 معیار مختلف) طبقه بندی یا classification استفاده کنید

function output = calculate(targets, results)
    TP = 0;
    TN = 0;
    FP = 0;
    FN = 0;

    Total = length(targets);

    for i = 1 : Total
        if(targets(i) < 0)
            if(results(i) == 2)
                TN = TN + 1;
            else
                FP = FP + 1;
            end
        else
            if(results(i) == 1)
                TP = TP + 1;
            else
                FN = FN + 1;
            end
        end       
    end

    P = TP + FN;
    N = TN + FP;

    % sensitivity / true positive rate
    TPR = TP / P;

    % false positive rate (FPR)
    FPR = FP / N;

    % accuracy
    ACC = (TP + TN) / (P + N);

    % specificity / True Negative Rate
    SPC = TN / N;

    % precision / positive predictive value
    PPV = TP / (TP + FP);

    % negative predictive value
    NPV = TN / (TN + FN);

    % false discovery rate
    FDR = FP / (FP + TP);

    % Matthews correlation coefficient
    MCC = ((TP * TN) - (FP * FN)) / sqrt(N * (TN + FN) * P * (TP + FP));

    % Likelihood ratio positive
    LRP = TPR / (1 - SPC);

    % Likelihood ratio negative
    LRN = (1 - TPR) / SPC;

    output = [TP TN FP FN TPR FPR ACC SPC PPV NPV FDR MCC LRP LRN];
    %display(output);  
end


من پاسخ بهتری دارم !


عبارت های جستجو شدهعبارت های جستجو شده

()