You are on page 1of 15

Algoritma

Naive Bayes & K-NN


Efy Yosrita
Contoh Gunakan metode naïve bayes untuk memprediksi class ( go out & stay home)

soal
Var Weather : Sunny = 1 ; Car : Working = 1 ; Class : Go-out : 1
Rainy = 0; Broken = 0 ; Stay home : 0

http://www.charisfauzan.net/2017/04/perhitungan-manual-algoritma-naive.html
Penyelesaian :
Terdapat dua jenis peluang (probability) yang perlu dihitung dari dataset untuk
model naive bayes :
- Class Probabilities
- Conditional Probabilities
• Dataset memiliki 2 masalah kelas dan dapat diketahui probabilitas (P) masing-
masing kelas dengan cara :
• P(class=1) = jumlah(class=1) / (jumlah(class=0) + jumlah(class=1))
• P(class=0) = jumlah(class=0) / (jumlah(class=0) + jumlah(class=1))

•Maka didapatkan :
•P(class=1) = 5 / (5 + 5)
•P(class=0) = 5 / (5 + 5)

•Nilai probabilitas (P) untuk P(class=1) dan P(class=0) adalah 0.5


• Langkah selanjutnya adalah menghitung Conditional Probabilities, yaitu
probililitas setiap nilai input terhadapat nilai class.
Variabel Weather
1. P(weather=sunny|class=go-out) = jum(weather=sunny and class=go-out) / jum(class=go-out)
2. P(weather=rainy|class=go-out) = jum (weather=rainy and class=go-out) / jum (class=go-out)
3. P(weather=sunny|class=stay-home) = jum (weather=sunny and class=stay-home) / jum (class=stay-home)
4. P(weather=rainy|class=stay-home) = jum (weather=rainy and class=stay-home) / jum (class=stay-home)

Nilai peluang yang didapatkan adalah :


1. P(weather=sunny|class=go-out) = 4/5 = 0.8
2. P(weather=rainy|class=go-out) = 1/5 = 0.2
3. P(weather=sunny|class=stay-home) = 2/5 = 0.4
4. P(weather=rainy|class=stay-home) = 3/5 = 0.6
Variabel Car

1. P(car=working|class=go-out) = jum (car=working and class=go-out) / jum (class=go-out)


2. P(car=broken|class=go-out) = jum (car=brokenrainy and class=go-out) / jum (class=go-out)
3. P(car=working|class=stay-home) = jum (car=working and class=stay-home) / jum (class=stay-home)
4. P(car=broken|class=stay-home) = jum (car=brokenrainy and class=stay-home) / jum (class=stay-home)

• Nilai peluang yang didapatkan adalah :


•P(car=working|class=go-out) = 4/5 = 0.8
•P(car=broken|class=go-out) =1/5 = 0.2
•P(car=working|class=stay-home) = 1/5 = 0.2
•P(car=broken|class=stay-home) = 4/5 = 0.8
• Prediksi Naive Bayes

• Misal, ambil record pertama dari dataset untuk memprediksi termasuk kelas mana record pertama tersebut.

• weather=sunny, car=working

• Peluang kelas 'go-out’


go-out = P(weather=sunny|class=go-out) * P(car=working|class=go-out) * P(class=go-out)
go-out = 0.8 * 0.8 * 0.5
go-out = 0.32

• Peluang kelas 'stay-home’


stay-home = P(weather=sunny|class=stay-home) * P(car=working|class=stay-home) *
P(class=stay-home)
stay-home = 0.4 * 0.2 * 0.5
stay-home = 0.04
Kesimpulan : hasil record pertama benar
Perbandingan hasil prediksi dan nilai sebenarnya

Tabel Perbandingan Nilai Prediksi dan Nilai


Sebenarnya

• Dari 10 kali perhitungan di


peroleh 8 kali prediksi benar
( 80%) dan 2 kali prediksi
menyimpang ( 20%)
• Dari hasil tersebut dapat
disimpulakan tingkat akurasi
metode naïve bayes untuk kasus
ini sebesar 80%
Latihan : Hitung tingkat akurasi metode naïve bayes untuk memprediksi status kelulusan

NO JENIS KELAMIN STATUS MAHASISWA STATUS PRENIKAHAN IPK Semester 1-6 STATUS KELULUSAN
1 LAKI - LAKI MAHASISWA BELUM 3.17 TEPAT
2 LAKI - LAKI BEKERJA BELUM 3.30 TEPAT
3 PEREMPUAN MAHASISWA BELUM 3.01 TEPAT
4 PEREMPUAN MAHASISWA MENIKAH 3.25 TEPAT
5 LAKI - LAKI BEKERJA MENIKAH 3.20 TEPAT
6 LAKI - LAKI BEKERJA MENIKAH 2.50 TERLAMBAT
7 PEREMPUAN BEKERJA MENIKAH 3.00 TERLAMBAT
8 PEREMPUAN BEKERJA BELUM 2.70 TERLAMBAT
9 LAKI - LAKI BEKERJA BELUM 2.40 TERLAMBAT
10 PEREMPUAN MAHASISWA MENIKAH 2.50 TERLAMBAT
11 PEREMPUAN MAHASISWA BELUM 2.50 TERLAMBAT
12 PEREMPUAN MAHASISWA BELUM 3.50 TEPAT
13 LAKI - LAKI BEKERJA MENIKAH 3.30 TEPAT
14 LAKI - LAKI MAHASISWA MENIKAH 3.25 TEPAT
15 LAKI - LAKI MAHASISWA BELUM 2.30 TERLAMBAT

http://education-programmer.blogspot.com/2013/01/perhitungan-sederhana-naive-bayes-untuk.html
Latihan :
Data kerusakan laptop :
Gunakan metode naïve bayes untuk memprediksi
kerusakan laptop K1 = IC Charger Rusak
K2 = IC Power Rusak
K3 = Resistor Rusak
K4 = Kapasitor Rusak
K5 = Mofset Rusak
Tabel Indikator & Kerusakan Laptop K6 = Embeded Controller Rusak
Gejala Kerusakan
Data gejala yang timbul :
K1 K2 K3 K4 K5 K6 G1 = Indikator pengisian baterai nyala tapi laptop tidak bisa dinyalakan.
G2 = Indikaor pengisian baterai mati, laptop tidak bisa dinyalakan.
G1 1 0 1 0 0 0
G3 = Indikaor pengisian baterai nyala, bisa dinyalakan tapi tidak tampil
G2 0 1 0 0 0 1 pada layar.
G3 0 0 1 0 0 0
G4 = Input seperti USB tidak berfungsi
Keterangan :
G4 0 1 0 1 1 1 K = Kerusakan
G = gejalan
Keterangan : Contoh Kasus misalnya gejala yang tampak pada laptop ada dua gejala yaitu :

1 = Gejala muncul G1 : Indikator pengisian baterai nyala tapi laptop tidak bisa dinyalakan, dan
0 = Tidak ada gejala yang muncul G3 : Indikator pengisian baterai nyala, bisa dinyalakan tapi tidak tampil pada layar.
https://www.ilmuskripsi.com/2017/08/contoh-perhitungan-naive-bayes.html
K-Nearest Neighbor (KNN)
• K-Nearest Neighbor atau yang sering disingkat • Algoritma Perhitungan KNN
dengan KNN adalah salah satu algoritma yang • Menentukan parameter K sebagai banyaknya
digunakan untuk melakukan klasifikasi terhadap jumlah tetangga terdekat dengan objek baru.
objek berdasarkan dari data pembelajaran (data • Menghitung jarak antar objek/data baru
training) yang jaraknya paling dekat dengan objek terhadap semua objek/data yan gtelah di
tersebut. Tujuan dari algoritma KNN adalah training.
mengklasifikasikan objek baru berdasarkan atribut
• Urutkan hasil perhitungan tersebut.
dan sampel-sampel dari data training.
• Tentukan tetangga terdekat berdasarkan
jarak minimum ke K.
• Tentukan kategori dari tetangga terdekat
• KNN adalah algoritma supervised learning yang
dengan objek/data.
maksudnya algoritma ini menggunakan data yang
telah ada dan outputnya telah diketahui. KNN banyak • Gunakan kategori mayoritas sebagai
dipergunakan pada aplikasi data mining, pattern klasifikasi objek/data baru
recognition, image processing, dll.
https://www.ketutrare.com/2018/11/algoritma-k-nearest-neighbor-dan-contoh-soal.html
Contoh soal

Perhitungan
KNN
Diberikan data
Training berupa
dua atribut Bad
dan Good untuk
mengklasiikasik
an sebuah data
apakah
tergolong Bad
• Diberikan data baru yang akan diklasifikasikan, yaitu X =
atau Good , 3 dan Y = 5.
berikut ini • Termasuk klasifikasi apa data baru
adalah contoh ini ? Bad atau Good ?
datanya :
• Pertama, tentukan parameter K.
Langkah Misalnya dibuat jumlah tertangga terdekat K = 3.
penyelesaian
• Ke-dua, hitung jarak antara data baru dengan semua data
training, menggunakan Euclidean Distance. Hitung seperti pada
table berikut :
Tabel Euclidian Distance

Catatan :
Dalam menentukan nilai k,
bila jumlah klasifikasi
genap maka sebaiknya
gunakan nilai k ganjil, dan
begitu pula sebaliknya
bila jumlah klasifikasi
ganjil maka sebaiknya
gunakan nilai k genap, karena
jika tidak begitu, ada
kemungkinan  tidak akan
mendapatkan jawaban.
Ke-tiga, urutkan jarak dari data baru dengan data
training dan tentukan tetangga terdekat
berdasarkan jarak minimum K.
Tabel Pengurutan Jarak Terdekat • Dari kolom 4 (urutan jarak) diurutkan
dari yang terdekat ke terjauh antara
jarak data baru dengan data training.
ada 2 jarak yang sama (yaitu 4) pada
data baris 2 dan baris 6, sehingga
memiliki urutan yang sama. Pada
kolom 5 (Apakah termasuk 3-NN?)
maksudnya adalah K-NN menjadi 3-
NN , karena nilai K ditentukan sama
dengan 3.
Ke-empat, tentukan kategori dari tetangga terdekat.
perhatikan baris 3, 4, dan 5 pada gambar sebelumnya
(diatas). Kategori Ya diambil jika nilai K<=3. Jadi baris 3,
4, dan 5 termasuk kategori Ya dan sisanya Tidak.
Tabel Kategori untuk KNN
• Kategori ya untuk K-NN pada
kolom 6, mencakup baris 3,4,
dan 5.
• Diberikan kategori berdasarkan
tabel awal. baris 3 memiliki
kategori Bad, dan 4,5 memiliki
kategori Good.
Ke-lima, gunakan kategori mayoritas yang sederhana dari
tetangga yang terdekat tersebut sebagai nilai prediksi data
yang baru.
Tabel Kategori • Data yang kita miliki pada baris
3, 4 dan 5 kita punya 2 kategori
Good dan 1 kategori Bad.

• Dari jumlah mayoritas (Good >


Bad) tersebut dapat disimpulkan
bahwa data baru (X=3 dan Y=5)
termasuk dalam kategori Good.

You might also like