Friday, October 18, 2019

Buku Belajar Pemrograman Matlab-Cara Menghitung Confussion Matrix


Seiring dengan meningkatnya traffic dan kemudahan dalam mengelola content, kami mengucapkan banyak terima kasih kepada para pembaca setia pada blog www.softscients.web.id

Per 19 Maret 2020, kami sedang melakukan migrasi ke domain dan hosting yang lebih baik yaitu
Semoga dengan alamat domain dan hosting terbaru akan semakin memudahkan para pembaca dalam mencari materi/content. Migrasi dilakukan secara bertahap yang membutuhkan waktu yang cukup lama jadi jangan kuatir selama migrasi akan dilakukan secara hati-hati untuk memimalkan broken link


kalian bisa lanjut baca lagi di  http://softscients.com/2020/03/29/buku-belajar-pemrograman-matlab-cara-menghitung-confussion-matrix/



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




No comments:

Post a Comment