NAVIE BAYES
Definisi
Naïve Bayes merupakan
pengklasifikasian dengan metode probabilitas dan statistic (memprediksi peluang
di masa depan berdasarkan pengalaman di masa sebelumnya).
Tahapan Algoritma
} Pada
sebuah dataset, setiap baris/dokumen
diasumsikan sebagai vector dari nilai-nilai atribut <x1,x2,...,x3>
dimana tiap nilai-nilai menjadi peninjauan atribut Xi (iЄ[1,n]))
} Setiap
baris mempunyai label kelas ci Є {c1,c2,…,ck}
sebagai nilai variabel kelas C, sehingga untuk melakukan klasifikasi dapat
dihitung nilai probabilitas p(C=ci|X=xj)
} dikarenakan
pada Naïve Bayes diasumsikan setiap atribut saling bebas, maka persamaan yang
didapat adalah sebagai berikut :
◦
Peluang p(C=ci|X=xj) menunjukkan peluang
bersyarat atribut Xi dengan nilai xi diberikan kelas c
} Dikarenakan
pada Naïve Bayes diasumsikan setiap atribut saling bebas, maka persamaan yang
didapat adalah sebagai berikut :
◦
Peluang p(C=ci|X=xj) menunjukkan peluang
bersyarat atribut Xi dengan nilai xi diberikan kelas c
◦
Kelas C bertipe kualitatif sedangkan atribut Xi
dapat bertipe kualitatif ataupun kuantitatif.
Penerapan Algortima untuk Studi Kasus
- Mengklasifikasikan dokumen teks
- Predeksi Kelulusan Mahasiswa
- Penyaringan spam e-mail
- Hybrid Recommender System
Dim ProbiYes, ProbiNo As Double
Dim Y_Tepat, Y_Terlambat As Integer Dim CounDtSet As Integer Dim Klm_Tepat, Klm_Terlambat As Integer Dim Mhs_Tepat, Mhs_Terlambat As Integer Dim Nk_Tepat, Nk_Terlambat As Integer Dim Ipk_Tepat, Ipk_Terlambat As Integer 'total data terning Rst.Open "select count(*) as Hsl from Tb_Trening", Conn, adOpenKeyset, adLockOptimistic CounDtSet = Rst!hsl Rst.Close 'total data trening dengan keterangan TEPAT Rst.Open "select count(*) as Hasil from Tb_Trening where KETERANGAN ='TEPAT'", Conn, adOpenKeyset Y_Tepat = Rst!Hasil Rst.Close 'total data trening dengan keterangan TERLAMBAT Rst.Open "select count(*) as Hasil from Tb_Trening where KETERANGAN='TERLAMBAT'", Conn, adOpenKeyset Y_Terlambat = Rst!Hasil Rst.Close '************** JENIS KELAMIN ********************** Rst.Open "select count(*) as Hsl from Tb_Trening where KELAMIN = '" & CboKelamin.Text & "' and KETERANGAN ='TEPAT'", Conn, adOpenKeyset Klm_Tepat = (Rst!hsl+1) ' 'menampung nilai ke variabel Rst.Close Rst.Open "select count(*) as Hsl from Tb_Trening where KELAMIN = '" & CboKelamin.Text & "' and KETERANGAN ='TERLAMBAT'", Conn, adOpenKeyset Klm_Terlambat =( Rst!hsl +1)'menampung nilai ke variabel Rst.Close '************** STATUS MAHASISWA ********************** Rst.Open "select count(*) as Hsl from Tb_Trening where STATUS_MHS = '" & CboStatus.Text & "' and KETERANGAN ='TEPAT'", Conn, adOpenKeyset Mhs_Tepat = Rst!hsl ' 'menampung nilai ke variabel Rst.Close Rst.Open "select count(*) as Hsl from Tb_Trening where STATUS_MHS = '" & CboStatus.Text & "' and KETERANGAN ='TERLAMBAT'", Conn, adOpenKeyset Mhs_Terlambat = Rst!hsl 'menampung nilai ke variabel Rst.Close '************** STATUS PERNIKAHAN ********************** Rst.Open "select count(*) as Hsl from Tb_Trening where ST_PRENIKAHAN = '" & CboNikah.Text & "' and KETERANGAN ='TEPAT'", Conn, adOpenKeyset Nk_Tepat = Rst!hsl ' 'menampung nilai ke variabel Rst.Close Rst.Open "select count(*) as Hsl from Tb_Trening where ST_PRENIKAHAN = '" & CboNikah.Text & "' and KETERANGAN ='TERLAMBAT'", Conn, adOpenKeyset Nk_Terlambat =( Rst!hsl+1) 'menampung nilai ke variabel Rst.Close '************** IPK SEMSTER 1 s/d 6 ********************** Rst.Open "select count(*) as Hsl from Tb_Trening where IPK = '" & MaskEdBox1.Text & "' and KETERANGAN ='TEPAT'", Conn, adOpenKeyset Ipk_Tepat = (Rst!hsl + 1) 'menampung nilai ke variabel Rst.Close Rst.Open "select count(*) as Hsl from Tb_Trening where IPK = '" & MaskEdBox1.Text & "' and KETERANGAN ='TERLAMBAT'", Conn, adOpenKeyset Ipk_Terlambat = ( Rst!hsl+ 1) 'menampung nilai ke variabel Rst.Close 'MENJUMLAHKAN NILAI PROBALITAS ProbiYes = (Klm_Tepat / Y_Tepat) * (Mhs_Tepat / Y_Tepat) * (Nk_Tepat / Y_Tepat) * (Ipk_Tepat/ Y_Tepat) * (Y_Tepat / CounDtSet) ProbiNo = (Klm_Terlambat / Y_Terlambat) * (Mhs_Terlambat / Y_Terlambat) * (Nk_Terlambat / Y_Terlambat) * (Ipk_Terlambat / Y_Terlambat) * (Y_Terlambat / CounDtSet) 'MEMBANDINGKAN HASIL If ProbiYes > ProbiNo Then TxtHasil.Text = "LULUS TEPAT WAKTU" Else TxtHasil.Text = "LULUS TERLAMBAT" End If |
Artikel Terkaint:
Perhitungan sederhana Algoritma Naive Bayes untuk Klasifikasi Predeksi Keluluan
makasih artiklenya, saya telah mencoba algoritma ini, demo program : http://arfianhidayat.com/algoritma-naive-bayes
BalasHapussemoga membantu
Kalau coding untuk di matlab ny ada gk ka
BalasHapusKalau coding untuk di matlab ny ada gk ka
BalasHapusini ada contoh programnya nggak kak?
BalasHapus