RadionicaMultiStem1

Prezentacija

Zadaci

Programski kod

Anketa


#include <iostream>

#include <vector>

#include <cmath>     // za sqrt()

#include <iomanip>   // za setprecision

using namespace std;

 

// funkcija za izračun TP, TN, FP, FN

void confusionMatrix(const vector<int>& A, const vector<int>& B, int& TP, int& TN, int& FP, int& FN) {

    TP = TN = FP = FN = 0;

    for (size_t i = 0; i < A.size(); ++i) {

        if (A[i] ==  ____ && B[i] == ____) TP++;

        else if (A[i] == _____ && B[i] == ____) TN++;

        else if (A[i] == _____ && B[i] == ____) FP++;

        else if (A[i] == _____ && B[i] == ____) FN++;

    }

}

 

// izračun Jaccard Indexa

double jaccardIndex(int TP, int FP, int FN) {

    int denom = _________________;

    if (denom == 0) return 0.0;

    return static_cast<double>(_________) / denom;

}

 

// izračun Matthews Correlation Coefficienta (MCC)

double mccIndex(int TP, int TN, int FP, int FN) {

    double numerator = ________________________;

    double denominator = ________________________________;

    if (denominator == 0) return 0.0;

    return ______________________________;

}

 

int main() {

    int n;

    cout << “Unesi broj svojstava (bitova u otisku): “; cin >> n;

 

    vector<int> A(____), B(_____);

    cout << “Unesi otisak A (0/1 vrijednosti): “;

    for (int i = 0; i < ___; ++i) cin >> A[____];

    cout << “Unesi otisak B (0/1 vrijednosti): “;

    for (int i = 0; i < ___; ++i) cin >> B[____];

 

    int TP, TN, FP, FN;

    confusionMatrix(A, B, TP, TN, FP, FN);

 

    double jaccard = jaccardIndex(TP, FP, FN);

    double mcc = mccIndex(TP, TN, FP, FN);

 

    cout << fixed << setprecision(4);

    cout << “\nRezultati:\n”;

    cout << “TP = ” << ____ << “, TN = ” << ____

         << “, FP = ” << ____ << “, FN = ” << _____<< endl;

    cout << “Jaccard (Tanimoto) Index = ” << ________<< endl;

    cout << “Matthews Correlation Coefficient = ” << _____ << endl;

 

    return 0;

}