Confussion Matrix merupakan salah satu cara untuk mengukur kinerja algoritma klasifikasi yang lebih detail. Pada kasus klasifikasi dengan target hanya terdiri dari 2 kelas saja {-1,+1} dengan evaluasi dilakukan menggunakan Confusion Matrix berisi informasi tentang kondisi yang sebenarnya dan prediksi kondisi dalam sistem klasifikasi. Tabel confusion matrix untuk data dengan jumlah 2 kelas prediksi (Negatif dan Positif).
Keterangan :
A = jumlah kondisi negatif yang terprediksi benar (Negatif) True Negatif
B = jumlah kondisi negatif yang terprediksi salah (Positif) False Negatif
C = jumlah kondisi positif yang terprediksi salah (Negatif) False Positif
D = jumlah kondisi positif yang terprediksi benar (Positif) True Positive
Kalau kalian ingin tahu apa itu True Negatif (TN); False Negatif (FN) bisa kunjungi ref: https://www.softscients.web.id/2018/01/compute-confusion-matrix.html. Pengujian dalam penelitian perlu dilakukan evaluasi dengan menggunakan pengukuran 4 komponen yaitu akurasi, spesifikasitas, presisi dan sensitivitas
Akurasi
Akurasi merupakan presentas dari prediksi yang benar ( positif dan negatif ) berdasarkan kondisi yang ada atau keseluruhan data.
![]()
Sensifitas
Sensitivitas (Recall/True positive rate) berguna untuk mengukur proporsi atau rasio prediksi benar positif dibandingkan dengan keseluruhan data yang benar positif.
![]()
Spesifitas
Spesifitas (True negative rate) merupakan kebalikan dari sensitivitas yaitu untuk mengukur proporsi atau rasio dari kebenaran memprediksi negatif dibandingkan dengan keseluruhan data negatif.
![]()
Presisi
Presisi adalah menghitung proporsi atau rasio prediksi benar positif dibandingkan dengan keseluruhan hasil yang diprediksi positif.
![]()
Berikut contoh perhitungannya.
clc;clear all;close all;
target = [1;1;-1;-1;-1;1;1]
prediksi = [1,-1,1,-1,1,1,1]
[akurasi,sensifitas,spesifitas,presisi] = hitungakurasi(target,prediksi)
function [akurasi,sensifitas,spesifitas,presisi]=hitungakurasi(t,p)
t = t(:);
p = p(:);
data = [t,p];
true_positif = [1,1];
true_negatif = [-1,-1];
false_positif = [1,-1];
false_negatif = [-1,1];
%jumlah kondisi negatif yang terprediksi benar
a = (data==true_negatif);
a = sum(a(:,1).*a(:,2));
%jumlah kondisi negatif yang terprediksi salah
b = (data==false_negatif);
b = sum(b(:,1).*b(:,2));
%jumlah kondisi positif yang terprediksi salah
c = (data==false_positif);
c = sum(c(:,1).*c(:,2));
%jumlah kondisi positif yang terprediksi benar
d = (data==true_positif);
d = sum(d(:,1).*d(:,2));
akurasi = (a+d)/(a+b+c+d);
sensifitas = d /(c+d);
spesifitas = a /(a+b);
presisi = d /(b+d);
end
hasil
target =
1
1
-1
-1
-1
1
1
prediksi =
1 -1 1 -1 1 1 1
akurasi =
0.5714
sensifitas =
0.7500
spesifitas =
0.3333
presisi =
0.6000
Informasi ini menarik