Jobsheet 3
Naïve Bayes
Kompetensi Dasar
• Mahasiswa mampu memahami konsep dasar naive bayes
• Mahasiswa mampu memahami langkah-langkah naive bayes
1. Definisi Probabilitas
Sebelum membahas tentang naïve bayes alangkah baiknya jika mengetahui tentang probabilitas.
Pengertian Probabilitas adalah suatu nilai yang digunakan untuk mengukur tingkat terjadinya suatu kejadian
yang acak. Kata probabilitas itu sendiri sering disebut dengan peluang atau kemungkinan. Probabilitas
secara umum merupakan peluang bahwa sesuatu akan terjadi.
Konsep probabilitas memiliki peranan yang penting dalam kehidupan sehari-hari, mulai dari bidang
ilmiah, bidang pemerintahan, bidang usaha atau industri, sampai pada masalah-masalah kecil seperti masuk
kantor atau tidak karena awan tebal yang kemungkinan akan hujan deras dan banjir.
Dalam mempelajari probabilitas, ada tiga kata kunci yang harus diketahui yaitu eksperimen, hasil
(outcome) dan kejadian atau peristiwa (event). Sebagai contoh, sebuah eksperiman dilakukan dengan
menanyakan kepada 100 orang pembaca, apakah mereka akan mengambil mata kuliah statistik atau
kalkulus. Dari eksperimen ini akan terdapat beberapa kemungkinan hasil. Contohnya kemungkinan hasil
pertama ialah sebanyak 58 orang akan mengambil mata kuliah apapun. Kemungkinan hasil lain adalah
bahwa 75 orang mengambil mata kuliah kalkulus dan sisanya mengambil mata kuliah statistik. Contoh lain
dari eksperimen adalah pelemparan sebuah dadu. Hasil (outcome) dari pelemparan sebuah dadu tersebut
kemungkian akan keluar biji satu atau biji dua atau biji tiga dan seterusnya. Kumpulan dari beberapa hasil
tersebut dikenal sebagai kejadian (even).
Probabilitas biasanya dinyatakan dengan bilangan desimal (seperti 0,50, 0,20 atau 0,89) atau bilangan
pecahan seperti 5/100, 20/100, 75/100. Nilai dari probabilitas berkisar antara 0 sampai dengan 1. Jika
semakin dekat nilai probabilitas ke nilai 0, maka semakin kecil juga kemungkinan suatu kejadian akan
terjadi. Jika semakin dekat nilai probabilitas ke nilai 1, maka semakin besar peluang suatu kejadian akan
terjadi.
Dosen Pengampu: Dr. Kurnianingsih, S.T., M.T. – Prodi Teknik Informatika, Politeknik Negeri Semarang
1. Aturan Komplemen
Komplemen kejadian A adalah suatu kejadian dimana A tidak terjadi P(A C ) = 1 – P(A)
Contoh: Pelemparan dadu, maka probabilitas muncul angka 1 adalah 1/6. Sehingga probabilitas
muncul dadu angka bukan 1 adalah 1 – 1/6 = 5/6.
2. Aturan Perkalian
Digunakan untuk menghitung probabilitas gabungan dua kejadian. Rumus:
• Kejadian saling bebas (independent) adalah suatu kejadian yang tidak saling
mempengaruhi antara kejadian yang satu dengan yang lain. Secara matematis
misalkan diberikan kejadian A dan B, probabilitasnya dapat dirumuskan sebagai P(A
dan B) = P(A ∩ B) = P(A) . P(B) . Sebagai contoh, kartu pertama diperoleh
dari suatu dek kartu setelah diacak kemudian kartu kedua diperoleh dari dek kartu
tersebut setelah diacak lagi. Probablitas mendapatkan kartu queen dan kartu ace
adalah P(queen dan ace) = P(queen) . P(ace) = 4/52 + 4/52 = 8/52. Contoh kasus ini
tergolong kasus independent karena kejadian muncul kartu ace tidak
dipengaruhi oleh kartu queen yang mana setelah pengambilan kartu pertama dek
kartu diacak lagi untuk pengambilan kartu kedua.
• Kejadian tidak saling bebas (dependent) berlaku P(A dan B) = P(A ∩ B) = P(A) .
P(B|A). Sebagai contoh, Perusahaan asuransi WW menemukan bahwa 53%
penduduk kota memiliki asuransi Rumah (H) kepada perusahaan. Dari klien ini, 27%
penduduk juga memiliki asuransi Mobil (A) kepada perusahaan. Jika seorang
penduduk dipilih secara acak, maka probabilitas bahwa seorang penduduk memiliki
asuransi Rumah dan asuransi Mobil adalah P(H dan A) = P(H) . P(A|H) = 53% . 27%
= 14,13% . Contoh kasus ini tergolong kasus dependent karena persentase
penduduk yang memiliki asuransi Mobil diketahui dari penduduk yang memiliki
asuransi Rumah, sehingga ada pengaruh antara penduduk kota memiliki asuransi
Rumah (H) dan penduduk kota memiliki asuransi Mobil (A).
3. Aturan Penjumlahan
Aturan penjumlahan digunakan untuk menghitung probabilitas kejadian A atau B atau
keduanya A dan B terjadi
Dosen Pengampu: Dr. Kurnianingsih, S.T., M.T. – Prodi Teknik Informatika, Politeknik Negeri Semarang
• Kejadian saling asing (mutually exclusive) adalah dua kejadian yang tidak dapat
terjadi pada waktu yang sama. Secara matematis, misalkan kejadian pertama adalah
A dan kejadian kedua adalah B, maka probabilitasnya adalah P(A dan B) = 0.
Sedangkan, Kejadian tidak saling asing (non mutually exclusive) berlaku P(A dan B)
≠ 0.
• Ketika dua kejadian A dan B adalah mutually exclusive, probabilitas bahwa A atau
B akan terjadi adalah P(A atau B) = P(A U B) = P(A) + P(B). Sebagai contoh, suatu
desa memiliki 9 kedai kopi, yaitu 3 Kedai Kopi Tubruk, 2 Kedai Kopi Luwak, dan 4
Kedai Kopi Arang. Jika Budi memilih satu kedai secara acak untuk membeli
kopi, maka probabilitas bahwa Budi memilih untuk membeli Kopi Tubruk atau Kopi
Arang adalah P(Kopi Tubruk atau Kopi Arang) = P(Kopi Tubruk) + P(Kopi Arang)
= 3/9 + 4/9 = 7/9. Contoh kasus ini tergolong kasus mutually exclusive karena tidak
ada kemungkinan event atau kejadian Budi memilih datang ke Kedai Kopi Tubruk
dan ke Kedai Kopi Arang secara bersamaan.
• Ketika dua kejadian A dan B non mutually exclusive, probabilitas bahwa A atau B
akan terjadi adalah P(A atau B) = P(A U B) = P(A) + P(B) – P(A dan B).
• Sebagai contoh, Dalam unit rumah sakit terdapat 8 nurses dan 5 physicians. Ada 7
nurses dan 3 physicians yang perempuan. Jika seorang staf dipilih, maka probabilitas
bahwa dipilih seorang nurse atau seorang pria adalah.
Tabel 1. Ruang Sampel dari Unit Rumah sakit
Contoh kasus ini tergolong kasus non mutually exclusive karena ada kemungkinan
event atau kejadian terpilih seorang nurse dan pria.
Untuk mengetahui banyaknya semua hasil yang mungkin terjadi dalam suatu barisan kejadian, diberikan
ketentuan menghitung dengan tiga aturan[1], yaitu:
Dalam barisan n kejadian yang mana kejadian pertama memiliki k1 kemungkinan, kejadian kedua
memiliki k2 kemungkinan, kejadian ketiga memiliki k3 kemungkinan, dan seterusnya hingga banyaknya
total probabilitas dari barisan akan menjadi k1 . k2 . k3 . … . kn . Sebagai contoh, dilakukan percobaan
melempar satu koin logam dan satu mata dadu. Kemungkinan hasil yang mungkin untuk satu koin adalah
Head (H) atau Tail (T), sedangkan Kemungkinan hasil yang mungkin untuk satu mata dadu adalah 1, 2,
3, 4, 5, atau 6. Banyaknya hasil yang mungkin untuk barisan kejadian dihitung dengan Diagram Pohon
Lengkap berikut:
Dosen Pengampu: Dr. Kurnianingsih, S.T., M.T. – Prodi Teknik Informatika, Politeknik Negeri Semarang
Oleh karena koin menghasilkan 2 kemungkinan dan mata dadu menghasilkan 6 kemungkinan, maka
banyaknya semua hasil yang mungkin terjadi dalam suatu barisan kejadian adalah 2 . 6 = 12
kemungkinan. Diagram Pohon ini dapat juga menggambarkan barisan kejadian yang terjadi, yaitu (H,1)
, (H,2) , (H,3) , (H,4) , (H,5) , (H,6) , (T,1) , (T,2) , (T,3) , (T,4) , (T,5) , dan (T,6). Untuk memperdalam
pemahaman, diberikan contoh kedua. Suatu produsen cat berharap untuk memproduksi beberapa cat
berbeda. Kategorinya adalah Warna (Merah, Biru, Putih, Hitam, Hijau, Coklat, atau Kuning), Tipe (Latex
atau Oil), Tekstur (Flat, Semigloss, dan High Gloss), dan Kegunaan (Outdoor atau Indoor). Oleh karena
ada 7 Warna pilihan, 2 Tipe pilihan, 3 Tekstur pilihan, dan 2 Kegunaan pilihan, maka banyaknya
perbedaan macam cat yang dapat dibuat jika produsen memilih satu warna, satu tipe, satu tekstur, dan satu
kegunaan adalah 7 . 2 . 3 . 2 = 84 kemungkinan. Sebagai tambahan materi, diberikan Notasi Faktorial
yang menggunakan tanda seru untuk suatu hitungan n, yaitu:
Sebagai contoh, diberikan 5! = 5 . 4 . 3 . 2 . 1 = 120. Notasi Faktorial ini digunakan pada Aturan Permutasi
dan Aturan Kombinasi.
2. Aturan Permutasi.
Permutasi adalah suatu susunan dari n obyek didalam suatu urutan tertentu dengan menggunakan r obyek
pada suatu waktu. Hal ini dinotasikan dengan nPr dan dirumuskan sebagai
Sebagai contoh, Direktur periklanan televisi memiliki 5 iklan (A, B, C, D, dan E) yang akan ditampilkan
dalam program acaranya. Jika dia memilih 1 iklan untuk sesi pembukaan, 1 iklan untuk sesi pertengahan,
dan 1 iklan untuk sesi penutupan. Banyaknya kemungkinan barisan iklan yang ditampilkan dalam
program acara tersebut adalah
Kasus ini tergolong kasus Permutasi karena tiga iklan yang sama akan ditampilkan dengan barisan
berbeda menghasilkan tampilan/kondisi/keuntungan yang berbeda, misalkan iklan yang tampil (A,B,C) ≠
(A,C,B) ≠ (B,A,C) ≠ (B,C,A) ≠ (C,A,B) ≠ (C,B,A). Untuk menambah pemahaman kasus Permutasi,
diberikan contoh kedua tentang pemilihan pengurus kelas. Dari 5 siswa (Budi, Hadi, Rudi, Fedi, dan Dedi)
Dosen Pengampu: Dr. Kurnianingsih, S.T., M.T. – Prodi Teknik Informatika, Politeknik Negeri Semarang
akan dipilih 2 siswa untuk menjadi pengurus kelas (Ketua dan Bendahara). Banyaknya kemungkinan
siswa menjadi pengurus kelas adalah
Kasus ini tergolong kasus Permutasi karena dua siswa akan merasakan tanggung jawab yang berbeda
ketika mereka menjadi Ketua atau Bendahara, misalkan tanggung jawab Budi menjadi Ketua dan Hadi
menjadi Bendahara tidak sama dengan tanggung jawab Hadi menjadi Ketua dan Budi menjadi Bendahara,
(Budi,Hadi) ≠ (Hadi,Budi).
3. Aturan Kombinasi.
Kombinasi adalah suatu susunan dari r obyek yang dipilih dari n obyek. Kombinasi disimbolkan oleh nCr
dan dirumuskan sebagai
Sebagai contoh, Budi diberikan kemudahan untuk mengerjakan 4 soal dari 10 soal ujian. Banyaknya
kemungkinan Budi memilih soal yang dikerjakan adalah
Kasus ini tergolong kasus Kombinasi karena Budi akan mengerjakan soal yang sama meskipun urutan
mengerjakannya berbeda, misalkan Budi mengerjakan soal nomer 2, 3, 5, dan 7 akan sama ketika Budi
mengerjakan soal nomer 7, 5, 3, dan 2; (2,3,5,7) = (7,5,3,2). Untuk menambah pemahaman kasus
Kombinasi, diberikan contoh kedua tentang pemilihan kelompok kelas. Dipilih 3 orang untuk kelompok
A dari 10 orang didalam kelas. Banyaknya kemungkinan 3 orang terpilih dalam kelompok A adalah
Kasus ini tergolong kasus Kombinasi karena tiga orang yang terpilih untuk kelompok A tidak
dipertimbangkan urutan terpilihnya, misalkan terpilih Budi, Hadi, dan Dedi samahalnya dengan terpilih
Dedi, Budi, dan Hadi; (Budi,Hadi,Dedi) = (Dedi,Budi,Hadi).
Dosen Pengampu: Dr. Kurnianingsih, S.T., M.T. – Prodi Teknik Informatika, Politeknik Negeri Semarang
Jika peristiwa B terjadi dipengaruhi terjadinya peristiwa A, maka probabilitas demikian dinamakan
probabilitas bersyarat yang disimbolkan P(B|A) dan secara matematis didefinisikan sebagai[2]
Jika peristiwa A dan peristiwa B saling bebas (independent) maka P(B|A) = P(B). Sebagai contoh,
diberikan contoh yang berkaitan dengan contoh sebelumnya. Perusahaan asuransi WW menemukan
bahwa 53% penduduk kota memiliki asuransi Rumah (H) kepada perusahaan, serta 15% penduduk
memiliki asuransi Rumah dan tidak punya asuransi Mobil. Untuk menentukan target marketing, diduga
probabilitas seorang penduduk tidak memiliki asuransi mobil (AC) dari penduduk yang sudah punya
asuransi Rumah adalah.
Aturan Perkalian secara umum dapat diperluas untuk n kejadian[2]. Misalkan terdapat kejadian A1, A2,
…, An yang tidak saling bebas (dependent) maka probabilitas kejadian A1 dan A2 dan … An dapat terjadi
dalam
Sedangkan, misalkan terdapat kejadian A1, A2, …, An yang saling bebas (independent) maka probabilitas
kejadian A1 dan A2 dan … An dapat terjadi dalam
2. Teorema Bayes
Dalam teori probabilitas dan statistika, Pengertian Teorema Bayes adalah teorema yang digunakan untuk
menghitung peluang dalam suatu hipotesis, Teorema bayes dikenalkan oleh ilmuan yang bernama Bayes
yang ingin memastikan keberadaan Tuhan dengan mencari fakta di dunia yang menunjukan keberadaan
Tuhan. Bayes mencari fakta keberadaan tuhan didunia kemudian mengubahnya dengan nilai Probabilitas
Dosen Pengampu: Dr. Kurnianingsih, S.T., M.T. – Prodi Teknik Informatika, Politeknik Negeri Semarang
yang akan dibandingkan dengan nilai Probabilitas. teorema ini juga merupakan dasar dari statistika Bayes
yang memiliki penerapan dalam ilmu ekonomi mikro, sains, teori permain, hukum dan kedokteran.
Teorema Bayes akhirnya dikembangkan dengan berbagai ilmu termasuk untuk penyelesaian masalah
sistem pakar dengan menetukan nilai probabilitas dari hipotesa pakar dan nilai evidence yang didapatkan
fakta yang didapat dari objek yang diagnosa.Teorama Bayes ini membutuhkan biaya komputasi yang mahal
karena kebutuhan untuk menghitung nilai probabilitas untuk tiap nilai dari perkalian kartesius. penerapan
Teorema Bayes untuk mencari penerapan dinamakan inferens Bayes. aturan bayes didefinisikan sebagai
berikut[2]:
Sebagai contoh, terdapat tiga orang calon (Budi, Rudi, dan Hadi) yang akan dipilih untuk menjadi
ketua Koperasi. Probabilitas Budi terpilih adalah 50%, Rudi adalah 70%, dan Hadi adalah 60%. Jika Budi
terpilih, maka probabilitas kenaikan iuran anggota akan menjadi 30%. Jika Rudi atau Hadi terpilih, maka
probabilitas kenaikan iuran anggota akan menjadi 40%. Jika iuran anggota jadi dinaikkan, maka berapakah
probabilitas Budi terpilih menjadi ketua Koperasi adalah:
Misalkan A adalah kejadian kenaikan iuran anggota; serta H1, H2, H3 masing-masing adalah
kejadian Budi, Rudi, dan Hadi terpilih, maka P(A) = P(H1).P(A|H1) + P(H2).P(A|H2) + P(H3).P(A|H3) =
0,5(0,3) + 0,7(0,4) + 0,6(0,4) = 0,67 ; sehingga probabilitas Budi terpilih menjadi ketua Koperasi jika iuran
anggota jadi dinaikkan, yaitu:
3. Naïve Bayes
Metode klasifikasi ini diturunkan dari penerapan teorema bayes dengan asumsi independence (saling
bebas). Naive Bayes Classifier (NBC) adalah metode pengklasifikasian dengan model peluang, dimana
diasumsikan bahwa setiap atribut (contoh : data sampel) bersifat saling lepas satu sama lain berdasarkan
atribut kelas.
Keuntungan penggunan NBC adalah bahwa metoda ini hanya membutuhkan jumlah data pelatihan
(training data) yang kecil untuk menentukan estimasi parameter yang diperlukan dalam proses
pengklasifikasian. Karena yang diasumsikan sebagai variable independent, maka hanya varians dari suatu
Dosen Pengampu: Dr. Kurnianingsih, S.T., M.T. – Prodi Teknik Informatika, Politeknik Negeri Semarang
variable dalam sebuah kelas yang dibutuhkan untuk menentukan klasifikasi, bukan keseluruhan dari matriks
kovarians.
Sebelum melakukan proses klasifikasi Naive Bayes, dilakukan tahapan ekstraksi ciri tekstur citra
yang dimiliki oleh data yang ada dinamai metode Gray Level Co-Occurence Matrix (GLCM). Proses ini
merupakan melakukan perhitungan probabilitas hubungan ketetanggaan antara dua piksel pada jarak dan
orientasi sudut tertentu. Pendekatan ini bekerja dengan membentuk sebuah matriks kookurensi dari data
citra, dilanjutkan dengan menentukan ciri sebagai fungsi dari matrik.
Kookurensi berarti kejadian bersama, yaitu jumlah kejadian satu level nilai piksel bertetangga
dengan satu level nilai piksel lain dalam jarak (d) dan orientasi sudut (θ) tertentu. Jarak dinyatakan dalam
piksel dan orientasi dinyatakan dalam derajat. Orientasi dibentuk dalam empat arah sudut dengan interval
sudut 45º , yaitu 0º, 45º, 90º, dan 135º. Sedangkan jarak antar piksel dapat ditetapkan sebesar 1 piksel, 2
piksel, atau lebih.
Matriks kookurensi merupakan matriks bujursangkar dengan jumlah elemen sebanyak kuadrat
jumlah level intensitas piksel pada citra. Setiap titik (p,q) pada matriks kookurensi berorientasi berisi
peluang kejadian piksel bernilai p bertetangga dengan piksel bernilai q pada jarak d serta orientasi θ dan
(180º-θ). Parameter tekstur yang dapat diekstrak dengan metode GLCM menggunakan dua parameter yaitu
contrast dan correlation. Kedua parameter tersebut dijadikan sebagai nilai masukan dalam naive bayes.
Metode GLCM termasuk dalam metode statistik dimana dalam perhitungan statistiknya
menggunakan distribusi derajat keabuan (histogram) dengan mengukur tingkat kekontrasan,
granularitas, dan kekasaran suatu daerah dari hubungan ketetanggaan antar piksel di dalam citra. Metode
ini paling banyak digunakan untuk analisis tekstur dan diperkenalkan oleh Haralick di tahun 1973
yang merupakan bagian dari project yang didukung olah NASA yaitu tepatnya NASA Goddard
Space Flight Center. Haralick menggunakan citra dari NASA ERTS untuk melakukan klasifikasi
dengan tingkat akurasi diatas 80%.
PRAKTIKUM
Matlab r2019a
1. Buka program matlab
2. Klik new kemudian pilih script.
3. Ketik program sebagai berikut:
clear
tic
disp('--- start ---')
distr='normal';
distr='kernel';
% read data
White_Wine = dataset('xlsfile', 'cheese.xlsx');
X = double(White_Wine(:,1:11));
Y = double(White_Wine(:,12));
yu=unique(y);
nc=length(yu); % number of classes
ni=size(x,2); % independent variables
ns=length(v); % test set
switch distr
case 'normal'
% normal distribution
% parameters from training set
for i=1:nc
xi=x((y==yu(i)),:);
mu(i,:)=mean(xi,1);
sigma(i,:)=std(xi,1);
end
Dosen Pengampu: Dr. Kurnianingsih, S.T., M.T. – Prodi Teknik Informatika, Politeknik Negeri Semarang
case 'kernel'
% kernel distribution
% probability of test set estimated from training set
for i=1:nc
for k=1:ni
xi=x(y==yu(i),k);
ui=u(:,k);
fuStruct(i,k).f=ksdensity(xi,ui);
end
end
% re-structure
for i=1:ns
for j=1:nc
for k=1:ni
fu(j,k)=fuStruct(j,k).f(i);
end
end
P(i,:)=fy.*prod(fu,2)';
end
otherwise
end
toc
Python 3.7
1. Buka anaconda promt(anaconda3)
3. Setelah numpy terinstal kemudian install pandas dengan cara ketik pip install pandas
"""
"""
#!/usr/bin/python
import numpy as np
import pandas as pd
dataset= pd.read_excel('cheese.xlsx')
dataset.head().values
X = np.array(dataset[['FixAcid','VolAcid','CitAcid','ResSugar','Chlorides',
'FreeS02','TotalS02','Density','pH','Sulphates','Alcohol']])
Y = np.array(dataset['Quality'])
clf = GaussianNB()
clf.fit(X, Y)