Algoritma Naive Bayes 4


Algoritma Naive Bayes adalah salah satu algoritma yang digunakan untuk klasifikasi atau pengelompokan data, tetapi bisa juga digunakan untuk pengambilan keputusan. Contoh yang dibahas kali ini adalah mengenai penentuan penerimaan pengajuan kredit sepeda motor baru.
Algoritma ini adalah salah satu algoritma klasifikasi data seperti pada Algoritma K-Means Clustering yang sudah pernah dibahas sebelumnya. Algoritma K-Means Clustering memiliki keterbatasan dimana semua data inputan harus berupa data numerik / angka. Sedangkan algoritma ini dapat melakukan proses perhitungan baik data numerik, teks ataupun data yang sudah terkategori.



Diasumsikan ada 8 data pelanggan yang sudah diketahui datanya, yaitu Pelanggan A,B,C,D,E,F,G,H
Masing-masing pelanggan memiliki kriteria, yaitu umur, jenis kelamin, skor kepribadian, dan memiliki nilai hasil yaitu Diterima / Ditolak
Diasumsikan 8 data tersebut adalah sebagai berikut:

Pelanggan Umur Jenis Kelamin Skor Kepribadian Hasil
Pelanggan A 44 Laki-laki 3.55 Ditolak
Pelanggan B 52 Perempuan 4.71 Ditolak
Pelanggan C 60 Perempuan 6.56 Diterima
Pelanggan D 56 Laki-laki 6.8 Diterima
Pelanggan E 51 Laki-laki 6.94 Ditolak
Pelanggan F 46 Perempuan 6.52 Ditolak
Pelanggan G 48 Laki-laki 4.25 Ditolak
Pelanggan H 58 Perempuan 5.71 Ditolak

Contoh data pelanggan tersebut adalah sebagai berikut:



Selanjutnya ada 2 orang pelanggan baru yang mengajukan kredit sepeda motor
Maka tentukan pelanggan ini nantinya akan termasuk dalam kelompok Diterima / Ditolak
Diasumsikan data awalnya adalah sebagai berikut:

Pelanggan Umur Jenis Kelamin Skor Kepribadian
Pelanggan I 47 Perempuan 6.05
Pelanggan J 52 Laki-Laki 5

Contoh data pelanggan baru adalah sebagai berikut:
Untuk kriteria Nilai Hasil:
Karena belum diketahui nilai hasilnya, maka semua inputan data adalah kosong


Langkah-langkah penggunaan algoritma ini adalah

1. Tentukan Pengelompokan untuk masing-masing kriteria
Jumlah pengelompokan bebas tergantung keinginan
Contoh dalam kasus ini:
Kriteria umur hanya dikelompokan menjadi 3 bagian yaitu untuk umur dibawah 40, 41 sampai dengan 50, diatas 50
Kriteria jenis kelamin dikelompokan menjadi 2 bagian yaitu untuk laki-laki dan perempuan
Kriteria skor kepribadian dikelompokan menjadi 4 bagian yaitu untuk skor dibawah 4, 4 sampai dengan 5, 5 sampai dengan 6, diatas 6
Kriteria hasil dikelompokan menjadi 2 bagian yaitu untuk kelompok Diterima dan Ditolak

2. Tentukan matriks data untuk data yang sudah mengalami pengelompokan data sesuai kriteria diatas

3. Inisialisasi matriks jumlah data per kelompok kriteria menggunakan 3 kolom, yaitu [kriteria][kelompok kriteria][kelompok kriteria hasil]
Sebagai contoh: jumlahDataPerKelompokKriteria(0)(1)(0) = jumlah data untuk kriteria 0 (Umur), kelompok kriteria 1 (41 s/d 50), untuk kriteria hasil 0 (Ditolak)

4. Inisialisasi matriks jumlah data per kelompok kriteria hasil (Ditolak / Diterima)
Sebagai contoh: jumlahDataPerKelompokKriteriaHasil(0) = jumlah data untuk kriteria hasil 0 (Ditolak)

5 Lakukan perhitungan pada setiap contoh data
Hitung jumlah data per kelompok kriteria pada masing-masing kriteria, dan hitung jumlah data per kelompok kriteria hasil

6. Tentukan pengelompokan data untuk masing-masing data baru
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan dibawah ini (poin 6a – 6c)

6a. Hitung probabilitas parsial untuk masing-masing nilai kriteria hasil Ditolak dan Diterima
Dilambangkan sebagai PP(Ditolak) dan PP(Diterima)
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini (poin 6a1 – 6a3)

6a1. Hitung P0 yaitu P(hasil) sesuai nilai parameter hasil (Ditolak / Diterima)

6a2. Hitung P1, P2, …, Pn, yaitu P(hasil | kriteria 1), P(hasil | kriteria 2), . . . , P(hasil | kriteria n)
Teknik Laplacian Smoothing digunakan untuk menghindari probabilitas pada masing-masing kriteria yang dapat menjadi 0 pada awal perhitungan
Tambahkan angka 1 pada masing-masing data per kriteria, dan tambahkan nilai sebanyak jumlah kriteria pada faktor pembagi
Dalam kasus ini, Tambahkan angka 1 pada masing-masing data per kriteria, dan tambahkan angka 3 pada faktor pembagi

6a3. Hitung nilai jawaban dengan rumus:
PP(hasil) = P(hasil) * P(hasil | kriteria 1) * P(hasil | kriteria 2) * . . . * P(hasil | kriteria n)
Nilai P0, P1, P2, …, Pn bisa saja bernilai sangat rendah dan menyebabkan nilai pengembaliannya menjadi error karena nilai yang terlalu rendah
Oleh karena itu digunakan teknik pencegahan error dengan rumus:
PP(hasil) = konstanta e dipangkatkan(jumlah dari logaritma pada masing-masing P)

6b. Hitung probabilitas untuk masing-masing nilai kriteria hasil Ditolak dan Diterima
Dilambangkan dengan P(Ditolak) dan P(Diterima)
P(Ditolak) = PP(Ditolak) / (PP(Ditolak) + PP(Diterima))
P(Diterima) = PP(Diterima) / (PP(Ditolak) + PP(Diterima))

6c. Apabila P(Ditolak) > P(Diterima) maka pelanggan tersebut termasuk dalam kelompok Ditolak
Apabila P(Ditolak) < P(Diterima) maka pelanggan tersebut termasuk dalam kelompok Diterima


7. Jika nilai probabilitas Diterima lebih dari nilai probabilitas Ditolak, maka pelanggan tersebut termasuk dalam kelompok Diterima
Jika nilai probabilitas Ditolak lebih dari nilai probabilitas Diterima, maka pelanggan tersebut termasuk dalam kelompok Ditolak


Hasil akhir adalah: (klik untuk perbesar gambar)

cmd59


Contoh modul / source code dalam bahasa VB (Visual Basic) dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.


Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

4 pemikiran di “Algoritma Naive Bayes