Skip to content Skip to sidebar Skip to footer

Contoh Hitung Manual Algoritma Naive Bayes Untuk Data Numerik Menggunakan Ms. Excel

Naive bayes merupakan salah satu algoritma supervised learning yang populer. Algoritma ini menggunakan probabilitas untuk melakukan analisis prediktifnya. Ciri supervised yang melekat pada naive bayes adalah algoritma ini membutuhkan data training agar mampu melakukan prediksi maupun klasifikasi. Saya pernah menuliskan contoh sederhana hitung manual naive bayes di Perhitungan Manual Algoritma Naive Bayes Untuk Dataset Sederhana. Namun di artikel tersebut, saya menjelaskan perhitungan naive bayes bukan pada Ms. Excel karena dataset sangat sederhana. Kali ini, saya memiliki contoh dataset yang cukup kompleks untuk dilakukan contoh menggunakan Ms. Excel. 

Perhitungan naive bayes yang dicontohkan adalah implementasi naive bayes untuk klasifikasi irama Qiroatil Quran. Penjelasan dimulai dari data yang digunakan. Data yang digunakan adalah file berformat wav berisikan rekaman suara qori' yang membacakan Al-Qur'an sesuai dengan irama. File Qiroatil Quran berformat wav tersebut kemudian dilakukan ekstraksi. Ekstraksi tersebut menghasilkan empat atribut data training, yaitu minimum amplitudo, maximum amplitudo, sudut naik, dan sudut turun. Selain itu, data training juga memiliki 7 klasifikasi kelas irama Qiroatil Quran, antara lain Bayyati, Hijaz, Jiharka, Shoba, Nahawan, Sikah, Rost. Saya tidak menjelaskan bagaimana proses ekstraksi dilakukan karena perlu penjelasan panjang lebar lagi. Namun, yang terpenting adalah data training telah terbentuk sebagaimana ditunjukkan pada Gambar 1. Total data training adalah 70 data, dengan masing-masing kelas irama sebanyak 10 data. 

Saya sarankan, agar tak gagal paham, unduh dulu contoh data training dan testing yang saya gunakan di sini.

Gambar 1.  Data training naive bayes

Kemudian untuk data testing, dipilih salah satu data pada data training seperti Gambar 2. Harapannya, naive bayes mampu mengklasifikasi kelas irama dari data testing yang dipilih. 

Gambar 2. Data testing naive bayes

Proses 1: Menghitung Probabilitas Tiap Kelas Irama
Gambar 3. Proses Pertama Naive Bayes

Mengacu pada Gambar 3, rumus menentukan probabilitas tiap kelas irama = C6/$C$13 kemudian geser ke bawah hingga C12.

Proses 2: Menghitung Mean dari Atribut Tiap Kelas Irama
Gambar 4. Proses Kedua Naive Bayes

Berdasarkan Gambar 4, berikut ini rumus untuk menghitung mean (average) tiap-tiap kelas irama. Ingat! penentuan mean tergantung lokasi kolom data training. Lihat Gambar 1 jika bingung.  
=AVERAGE(J5:J14) untuk Mean Min Amp irama Bayyati, lanjutkan hingga nahawan. 
=AVERAGE(K5:K14) untuk Mean Max Amp irama Bayyati, lanjutkan hingga nahawan. 
=AVERAGE(L5:L14) untuk Mean Sudut Turun irama Bayyati, lanjutkan hingga nahawan. 
=AVERAGE(M5:M14) untuk Mean Sudut Naik irama Bayyati, lanjutkan hingga nahawan. 

Proses 3: Menghitung Standart Deviasi dari Atribut Tiap Kelas Irama
Gambar 5. Proses Ketiga naive bayes

Berdasarkan Gambar 5, berikut ini rumus untuk menghitung standart deviasi (simpangan baku) tiap-tiap kelas irama. Ingat! penentuan simpangan baku juga tergantung lokasi kolom data training. Lihat Gambar 1 jika bingung.
=STDEV.P(J5:J14) untuk SD Min Amp irama Bayyati, lanjutkan hingga nahawan. 
=STDEV.P(K5:K14) untuk SD Max Amp irama Bayyati, lanjutkan hingga nahawan. 
=STDEV.P(L5:L14) untuk SD Sudut Turun irama Bayyati, lanjutkan hingga nahawan. 
=STDEV.P(M5:M14) untuk SD Sudut Naik irama Bayyati, lanjutkan hingga nahawan. 

Proses 4: Menghitung Distribusi Normal dari Atribut Tiap Kelas Irama
Gambar 6. Proses Keempat naive bayes

Berdasarkan Gambar 6, berikut ini rumus untuk menghitung distribusi normal dari tiap-tiap kelas irama. 

=NORM.DIST($G$6,C17,C27,TRUE) untuk DN Min Amp pada irama bayyati. $G$6 adalah data testing untuk atribut min amplitudo, C17 adalah mean irama bayyati untuk atribut min amplitudo dan C27 adalah standart deviasi irama bayyati untuk min amplitudo. Dari contoh ini, anda bisa melanjutkan sendiri untuk irama dan atribut lain. 

Proses 5: Hitung Probabilitas tiap Kelas Irama dan Klasifikasi Hasil Akhir Irama
Gambar 7. Proses Kelima Naive Bayes

Berdasarkan Gambar 7, berikut ini rumus untuk menghitung probabilitas dari tiap kelas irama. 
=D6*C37*D37*E37*F37

D6 adalah probabilitas kelas irama bayyati (lihat Gambar 3)
C37 adalah distribusi normal Min Amplitudo untuk irama bayyati
D37 adalah distribusi normal Max Amplitudo untuk irama bayyati
E37 adalah distribusi normal Sudut Turun untuk irama bayyati
F37 adalah distribusi normal Sudut Naik untuk irama bayyati

Anda bisa melanjutkan sendiri untuk kelas irama lain. 

Kemudian, berikut ini rumus untuk menentukan hasil akhir klasifikasi irama, sehingga langsung muncul label kelas irama yang memiliki probabilitas tertinggi. 
=VLOOKUP(MAX(C47:C53),C47:D53,2,FALSE) untuk menampilkan label kelas irama. Pada Gambar 7, tampil kelas irama "jiharka". 
=MAX(C47:C53) untuk menentukan nilai probabilitas tertinggi. Pada Gambar 7, tampil nilai 0.01094

Penjelasan saya cukupkan sampai disini. Berbekal tutorial ini, anda bisa menghitung manual naive bayes menggunakan Ms. Excel untuk studi kasus yang lain. Terutama bagi anda yang sedang mengerjakan tugas akhir semester atau skripsi.

Referensi: 

Salam
Abd. Charis Fauzan

1 comment for "Contoh Hitung Manual Algoritma Naive Bayes Untuk Data Numerik Menggunakan Ms. Excel"