Universitas Gunadarma KONSEP DATA MINING Disusun Oleh : Dr Lily Wulandari Universitas Gunadarma Logo Seminar
KLASIFIKASI: NAIVE BAYES
Naive Bayes Simple Naive Bayesian Classifier merupakan salah satu metode klasifikasi berpeluang sederhana yang berdasarkan pada penerapan Teorema Bayes dengan asumsi antar variabel penjelas saling bebas (independen). Algoritma ini memanfaatkan metode probabilitas dan statistik yang dikemukakan oleh ilmuwan Inggris Thomas Bayes, yaitu memprediksi probabilitas di masa depan berdasarkan pengalaman di masa sebelumnya.
Naive Bayes Dua kelompok peneliti, satu oleh Pantel dan Lin, dan yang lain oleh Microsoft Research memperkenalkan metode statistik Bayesian ini pada teknologi anti spam filter. Tetapi yang membuat algoritma Bayesian filtering ini popular adalah pendekatan yang dilakukan oleh Paul Graham. Dasar dari teorema naive digunakan dalam pemrograman adalah rumus Bayes berikut ini: P (A|B) = (P(B|A) * P(A))/P(B) Artinya Peluang kejadian A sebagai B ditentukan dari peluang B saat A, peluang A, dan peluang B.
Penerapan Naive Bayes Untuk klasifikasi Dokumen Untuk deteksi SPAM atau fitering SPAM
Mengapa Naive Bayes? Penggolong statistik: melakukan prediksi probabilistik, mis., Memprediksi probabilitas keanggotaan kelas Foundation: Berdasarkan teorema Bayes. Kinerja: Pengklasifikasi Bayesian sederhana, Pengklasifikasi naïve Bayesian, memiliki kinerja yang sebanding dengan pohon keputusan dan pengklasifikasi neural network terpilih
Tahapan Algoritma Naïve Bayes Baca Data Training Hitung jumlah class Hitung jumlah kasus yang sama dengan class yang sama Kalikan semua nilai hasil sesuai dengan data X yang dicari class-nya
1. Baca Data Training
Teorema Bayes X Data dengan class yang belum diketahui H Hipotesis data X yang merupakan suatu class yang lebih spesifik P (H|X) Probabilitas hipotesis H berdasarkan kondisi X (posteriori probability) P (H) Probabilitas hipotesis H (prior probability) P (X|H) Probabilitas X berdasarkan kondisi pada hipotesis H P (X) Probabilitas X
2. Hitung jumlah class/label Terdapat 2 class dari data training tersebut, yaitu: C1 (Class 1) Play = yes 9 record C2 (Class 2) Play = no 5 record Total = 14 record Maka: P (C1) = 9/14 = 0.642857143 P (C2) = 5/14 = 0.357142857 Pertanyaan: Data X = (outlook=rainy, temperature=cool, humidity=high, windy=true) Main golf atau tidak?
3. Hitung jumlah kasus yang sama dengan class yang sama Untuk P(Ci) yaitu P(C1) dan P(C2) sudah diketahui hasilnya di langkah sebelumnya. Selanjutnya Hitung P(X|Ci) untuk i = 1 dan 2 P(outlook=“sunny”|play=“yes”)=2/9=0.222222222 P(outlook=“sunny”|play=“no”)=3/5=0.6 P(outlook=“overcast”|play=“yes”)=4/9=0.444444444 P(outlook=“overcast”|play=“no”)=0/5=0 P(outlook=“rainy”|play=“yes”)=3/9=0.333333333 P(outlook=“rainy”|play=“no”)=2/5=0.4
3. Hitung jumlah kasus yang sama dengan class yang sama romi@romisatriawahono.net Object-Oriented Programming 3. Hitung jumlah kasus yang sama dengan class yang sama Jika semua atribut dihitung, maka didapat hasil akhirnya seperti berikut ini: Atribute Parameter No Yes Outlook value=sunny 0.6 0.2222222222222222 value=cloudy 0.0 0.4444444444444444 value=rainy 0.4 0.3333333333333333 Temperature value=hot value=mild value=cool 0.2 Humidity value=high 0.8 value=normal 0.6666666666666666 Windy value=false value=true http://romisatriawahono.net
4. Kalikan semua nilai hasil sesuai dengan data X yang dicari class-nya Pertanyaan: Data X = (outlook=rainy, temperature=cool, humidity=high, windy=true) ; Main Golf atau tidak? Kalikan semua nilai hasil dari data X P(X|play=“yes”) = 0.333333333 * 0.333333333 * 0.333333333 * 0.333333333 = 0.012345679 P(X|play=“no”) = 0.4*0.2*0.8*0.6 = 0.0384 P(X|play=“yes”)*P(C1) = 0.012345679 * 0.642857143 = 0.007936508 P(X|play=“no”)*P(C2) = 0.0384 * 0.357142857 = 0.013714286 Nilai “no” lebih besar dari nilai “yes” maka class dari data X tersebut adalah “No”
Contoh Kasus (1) Misalnya ingin diketahui apakah suatu objek masuk dalam ketegori dipilih untuk perumahan atau tidak dengan algoritma Naive Bayes Classifier. Untuk menetapkan suatu daerah akan dipilih sebagai lokasi untuk mendirikan perumahan, telah dihimpun 10 aturan.
Contoh Kasus (1) Ada 4 atribut yang digunakan, yaitu: harga tanah per meter persegi (C1), jarak daerah tersebut dari pusat kota (C2), ada atau tidaknya angkutan umum di daerah tersebut (C3), dan keputusan untuk memilih daerah tersebut sebagai lokasi perumahan (C4).
Contoh Kasus (1)
Contoh kasus (1) Probabilitas kemunculan setiap nilai untuk atribut Harga Tanah (C1)
Contoh Kasus (1) Probabilitas kemunculan setiap nilai untuk atribut Jarak dari Pusat Kota (C2)
Contoh Kasus (1) Probabilitas kemunculan setiap nilai untuk atribut Ada Angkutan Umum (C3)
Contoh Kasus (1) Probabilitas kemunculan setiap nilai untuk atribut Dipilih untuk perumahan (C4)
Contoh Kasus (1) Test Set: Berdasarkan data tersebut, apabila diketahui suatu daerah dengan harga tanah MAHAL, jarak dari pusat kota SEDANG, dan ADA angkutan umum, maka dapat dihitung: YA = P(Ya|Tanah = MAHAL) . P(Ya|Jarak = SEDANG) .P(Ya|Angkutan = ADA). P(Ya)= 1/5 x 2/5 x 1/5 x 5/10 = 2/125 = 0,008 TIDAK = P(Tidak| Tanah = MAHAL) . P(Tidak|Jarak = SEDANG) .P(Tidak|Angkutan = ADA) . P(Tidak)= 3/5 x 1/5 x 3/5 x 5/10 = 2/125 = 0,036
Contoh Kasus (1) Nilai probabilitas dapat dihitung dengan melakukan normalisasi terhadap likelihood tersebut sehingga jumlah nilai yang diperoleh = 1
Contoh Kasus (2) Untuk jenis data harga tanah dan jarak pusat kota yang kontinue, misalnya :
Contoh Kasus (2) Namun jika atribut ke-i bersifat kontinu, maka P(xi|C) diestimasi dengan fungsi densitas Gauss.Distribusi normal adalah distribusi dari variabel acak kontinu. Kadang-kadang distribusi normal disebut juga dengan distribusi Gauss. Distribusi ini merupakan distribusi yang paling penting dan paling banyak digunakan di bidang statistika.e = 2,7183
Contoh Kasus (2) Probabilitas kemunculan setiap nilai untuk atribut Harga Tanah (C1)
Contoh Kasus (2) Probabilitas kemunculan setiap nilai untuk atribut Jarak dari Pusat Kota (C2)
Contoh Kasus (2) Probabilitas kemunculan setiap nilai untuk atribut Angkutan Umum (C3)
Contoh Kasus (2) Probabilitas kemunculan setiap nilai untuk atribut Dipilih untuk Perumahan (C4)
Contoh Kasus (2) Apabila diberikan C1 = 300, C2 = 17, C3 = Tidak, maka:
Contoh Kasus (2) Likelihood Ya = (0,0021) x (0,0009) x 4/5 x 5/10 = 0,000000756 Likelihood Tidak = (0,0013) x (0,0633) x 2/5 x 5/10 = 0,000016458 Nilai probabilitas dapat dihitung dengan melakukan normalisasi terhadap likelihood tersebut sehingga jumlah nilai yang diperoleh = 1
Menghindari Masalah Probabilitas-Nol Prediksi Naïve Bayesian membutuhkan masing- masing prob bersyarat yang tidak nol. Jika tidak, prob yang diprediksi akan menjadi nol. Misalkan dataset dengan 1000 tupel, income = rendah (0), income = sedang (990), dan income = tinggi (10)
Menghindari Masalah Probabilitas-Nol Gunakan koreksi Laplacian (atau estimator Laplacian) Menambahkan 1 ke setiap kasing Prob (penghasilan = rendah) = 1/1003 Prob (penghasilan = sedang) = 991/1003 Prob (penghasilan = tinggi) = 11/1003 Perkiraan probabilitas yang “dikoreksi” dekat dengan probabilitas lainnya yang "tidak dikoreksi“.
Naïve Bayes Classifier: Komentar Keuntungan Mudah diimplementasikan Hasil yang baik diperoleh di sebagian besar kasus Kekurangan Asumsi: kelas bebas bersyarat, oleh karena itu kehilangan keakuratan Secara praktis, ketergantungan ada di antara variabel. Misal: Profil Pasien Rumah Sakit: usia, riwayat keluarga, dll Gejala: demam, batuk dll., Penyakit: kanker paru-paru, diabetes, dll.
Naïve Bayes Classifier: Komentar Kekurangan (lanjutan) Ketergantungan di antara ini tidak dapat dimodelkan oleh Naïve Bayes Classifier Bagaimana cara mengatasi ketergantungan ini? Bayesian Belief Networks
Bayesian Belief Network Bayesian Belief Network, suatu metode dalam machine learning yang masuk ke dalam kategori supervised learning. Pada dasarnya belief network mengambil teori dasar bayessian, yang memanfaatkan distribusi probabilitas pada setiap features yang diketahui. Namun yang membedakan adalah dalam belief network menggunakan suatu network yang merepresentasikan kondisi pengetahuan dependensi dan in-dependensi setiap features yang ada dalam suatu kasus atau dataset.
Bayesian Belief Network Berbeda dengan naive bayes yang tidak melihat kemungkinan dependensi dan in-dependensi setiap features (attributes), dan itu dapat dilihat dari representasi metode yang digunakan naive bayes. Tentunya dengan melihat model yang dihasilkan adalah berupa inferences yaitu distribusi probabilitas setiap features dalam network maka belief network dapat menjadi alternatif metode yang lebih baik dibanding naive bayes yang tidak melihat kemungkinan tersebut.
Bayesian Belief Network Contohnya adalah jika kita memiliki 6 atribut yang dapat menentukan berbagai kondisi, seperti lightning, thunder, atau kebakaran hutan seperti di bawah ini:
Bayesian Belief Network Misalkan untuk Lightning atau petir akan terjadi jika terdapat probabilitas yang besar untuk storm atau kilat akan terjadi ketika badai, dan thunder atau gemuruh guntur akan terjadi ketika petir sudah terjadi, atau jika kita memiliki probabilitas lightning yang cukup besar maka probabilitas thunder pun akan meningkat.
Bayesian Belief Network Bagitu juga kebakaran hutan, jika terjadi petir dan badai ditambah ada yang membuat api unggun, maka probabilitas terjadinya kebakaran hutan akan meningkat. Artinya network tersebut merupakan representasi distribusi probabilitas (joint distribution) antar setiap variable.
Terima Kasih