Algoritma Naive Bayes Inference Clustering 4


Algoritma Naive Bayes Inference Clustering adalah salah satu algoritma yang digunakan untuk klasifikasi atau pengelompokan data. Contoh yang dibahas kali ini adalah mengenai penentuan penerimaan pengajuan kredit sepeda motor.
Algoritma ini merupakan contoh penerapan kasus yang lain dari Algoritma Naive Bayes yang sudah pernah dibahas sebelumnya. Pada contoh sebelumnya, Algoritma Naive Bayes yang standar digunakan sebagai perhitungan untuk pengambilan keputusan. Pada contoh kasus kali ini, algoritma tersebut akan diterapkan sebagai pemecahan kasus dari pengelompokan atau klasifikasi data.



Diasumsikan ada 13 data pelanggan, yaitu Pelanggan A,B,C,D,E,F,G,H,I,J,K,L,M
Masing-masing pelanggan memiliki kriteria, yaitu umur, jenis kelamin, skor kepribadian
Maka tentukan kelompok data pelanggan menjadi 2 bagian, yaitu kelompok data Diterima atau Ditolak
Diasumsikan 13 data tersebut adalah sebagai berikut:

Pelanggan Umur Jenis Kelamin Skor Kepribadian
Pelanggan A 44 Laki-laki 3.55
Pelanggan B 52 Perempuan 4.71
Pelanggan C 60 Perempuan 6.56
Pelanggan D 56 Laki-laki 6.8
Pelanggan E 51 Laki-laki 6.94
Pelanggan F 46 Perempuan 6.52
Pelanggan G 48 Laki-laki 4.25
Pelanggan H 58 Perempuan 5.71
Pelanggan I 47 Perempuan 6.05
Pelanggan J 52 Laki-Laki 5
Pelanggan K 42 Laki-Laki 5.7
Pelanggan L 59 Laki-Laki 3.9
Pelanggan M 49 Perempuan 4.85

Langkah pertama adalah memasukkan data-data yang digunakan.
Contoh data awal adalah sebagai berikut:



Sebelum masuk kedalam langkah-langkah pembahasan algoritma, ada beberapa konstanta atau parameter yang harus diketahui, yaitu:
* Tentukan Jumlah Cluster
Jumlah Cluster adalah jumlah dari pengelompokan data yang ingin dilakukan
Jumlah Cluster nilainya harus diantara 2 dan jumlah data
Diasumsikan dalam kasus ini, jumlah pengelompokan data ada 2 kelompok, yaitu kelompok Diterima dan Ditolak

* Tentukan Jumlah Iterasi
Diasumsikan dalam kasus ini, jumlah iterasi adalah 100


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

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

3. Inisialisasi matriks jumlah data per atribut per cluster untuk digunakan dalam teknik Laplacian Smoothing,
yaitu dengan memberi nilai awal semua data dengan nilai 1
Teknik ini dimaksudkan agar perhitungan probabilitas dalam masing-masing cluster tidak ada yang bernilai 0

4. Lakukan pengelompokan data untuk matriks yang sudah mengalami pengelompokan data
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini (poin 4a – 4f)

4a. Inisialisasi matriks kelompok data dengan nilai -1

4b. Cari indeks yang cukup baik untuk masing-masing cluster

* Gunakan fungsi ini untuk mencari indeks yang cukup baik pada masing-masing cluster
Fungsi ini mengembalikan nilai indeks data yang cukup baik,
dimana nilai total delta yang dihasilkan adalah tertinggi, tetapi tidak boleh ada indeks yang sama muncul 2 kali
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

4b1. Cari indeks acak sejumlah banyak cluster, dengan indeks acak yang tidak boleh ada yang sama

4b2. Hitung total delta yaitu jumlah delta pada pada setiap indeks acak

4b3. Jika total delta yang telah dihitung ternyata lebih dari delta tertinggi, maka ambil indeks nya sebagai indeks terbaik

4c. Masukkan data dengan indeks terpilih ke dalam masing-masing cluster terpilih

4d. Update matriks jumlah data per attribut per cluster sesuai data masukan sebelumnya

4e. Update matriks jumlah data per cluster sesuai data masukan sebelumnya

4f. Lakukan perulangan pada setiap data awal

4f1. Hitung nilai probabilitas data ini terhadap setiap cluster

4f2. Cari cluster dengan probabilitas paling tinggi
Masukkan data ini kedalam cluster tersebut

4f3. Update matriks jumlah data per attribut per cluster sesuai data masukan sebelumnya
Update matriks jumlah data per cluster sesuai data masukan sebelumnya

* Gunakan fungsi ini untuk menghitung nilai probabilitas data pada semua cluster
Nilai pengembalian fungsi ini adalah nilai probabilitas data terhadap masing-masing cluster
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

* Gunakan fungsi ini untuk menghitung nilai probabilitas parsial
Nilai pengembalian fungsi ini adalah nilai probabilitas parsial data pada matriks dataAwal terhadap cluster c
Nilai probabilitas dihitung dengan rumus:
probabilitas pada cluster x = probabilitas kriteria 1 pada cluster x * probabilitas kriteria 2 pada cluster x * … * probabilitas kriteria n pada cluster x
Teknik Laplacian Smoothing digunakan untuk menghindari probabilitas yang menjadi 0 pada awal perhitungan
Penjelasan lebih detail tentang fungsi ini dapat dilihat pada penjelasan skrip dibawah ini

5. Hitung nilai data pada masing-masing cluster
Nilai pada setiap data dihitung dari penjumlahan nilai kelompok kriteria pada masing-masing kolom
Pada Kriteria umur, semakin rendah kelompok kriteria, maka semakin tinggi nilai kolomnya, dan sebaliknya.
Pada Kriteria jenis kelamin dan skor kepribadian, semakin tinggi kelompok kriteria, maka semakin tinggi nilai kolomnya, dan sebaliknya.

6. Lihat kembali matriks data awal yang sudah terkelompok
Bandingkan nilai total data antara kedua cluster
Nilai total data yang lebih tinggi akan masuk ke dalam kelompok Diterima, sedangkan nilai total data yang lebih rendah akan masuk ke dalam kelompok Ditolak


Hasil akhir adalah: (klik untuk perbesar gambar)

cmd31c


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 Inference Clustering

    • pip Penulis

      Untuk dapat mengetahui hal tersebut, saya harus memahami secara detail mengenai sistem dan data yang digunakan pada proses deteksi kadar alkohol tersebut. Silahkan dijelaskan lebih lanjut.

  • lutfy

    maaf mas, saya pernah baca dari beberapa jurnal bahwa algoritma naive bayes ini bisa digunakan untuk memprediksi besarnya penggunaan listrik dan air. apakah benar demikian? trimakasih

    • pip Penulis

      Algoritma ini sebenarnya adalah algoritma klasifikasi yang dimodifikasi ke dalam bentuk clustering, sehingga hanya dapat menghasilkan output kategori secara terbatas saja. Jika prediksi yang anda maksud menghasilkan output dalam bentuk angka, maka sepertinya anda memerlukan rumus tambahan untuk mengkonversi hasil output ke dalam angka.