Assalamualaikum warahmatullahi wabarakatuh...
Halo teman teman semua pada blog sebelumnya kita telah membahas tentang machine learning beserta contoh soalnya, kali ini kita kan lanjut dengan judul yang baru yaitu klasifikasi dari Naive bayes.
Naive Bayes Classifier adalah salah satu klasifikasi statistik, dimana dalam pengklasifikasiannya memprediksi probabilitas keanggotaan kelas suatu data yang akan masuk ke dalam kelas tertentu, sesuai dengan perhitungan probabilitas.
Naive Bayes bertujuan untuk melakukan klasifikasi data pada kelas tertentu, kemudian pola tersebut dapat digunakan untuk memperkirakan nasabah yang bergabung, sehingga perusahaan bisa mengambil keputusan menerima atau menolak calon nasabah tersebut.
Berikut ini adalah beberapa model yang digunakan untuk mengklasifikasi sebuah dataset
1.Naive Bayes (NB). Pada model ini terkait dengan probabilitas (kemunculan suatu kelas dari data yang ada)
2.K Nears Neighbords (KNN), intinya adalah melihat tetangga terdekat dari data yang ada.
3.Decision Tree (DT), intinya adalah melihat percabangan pohon terakhirnya menuju ke kelas yang mana.
4.Support Vector Machine (SVM), kerjanya yaitu kita coba membuat sebuah pemisah (bisa berupa garis yang biasa disebut plane atau bidang yang biasa disebut hyperplane). Kunci dari model ini adalah bagaimana kita membuat plane atau pemisah hyperplane yang terbaik untuk kelas-kelas tersebut (dilihat dari titik-titik yang ada disekitar pemisah itu).
5.Neural Network (NN), kuncinya adalah kita mencari bobot.
6.Ensemble Learning (EL) berarti menggabungkan beberapa model menjadi 1 model yang baru. Biasanya memakai voting (pemilihan suara terbanyak) dari model-model yang digunakan
Berikut ini adalah rumus dari Naive Bayes :
Keterangan :
P(C|X) : Probabilitas hipotesis berdasar kondisi (posterior probability)
P(X|C) : Probabilitas berdasarkan kondisi pada hipotesis
P(C) : Probabilitas hipotesis (prior probability)
P(X) : Probabilitas C
C : Hipotesis data merupakan suatu class spesifik
X : Data dengan class yang belum diketahui
Dengan menggunakan rumus tersebut, terdapat beberapa tahapan algoritmanya antara lain:
1.Baca Data Training
2.Hitung jumlah class
3.Hitung jumlah kasus yang sama dengan class yang sama
4,Kalikan semua nilai hasil sesuai dengan data X yang dicari class-nya.
Berikut contoh dari tahapan algoritma Naive Bayes :
1.Membaca Dataset
Dari data tersebut terdapat 5 informasi yaitu
1.Outlook
2.Temperature
3.Humadity
4.Windy
5.Play golf
Data tersebut adalah tipe data kategorikal. Untuk informasi outlook, terdapat 3 kondisi yaitu :
Rainy, Sunny dan, Overcast.
Terdapat 3 informasi kondisi yang ada pada temperature, yaitu :
1.Mild
2,Cool
3.Hot
Dan pada humadity, terdapat 2 informasi kondisi yaitu :
HIGH dan NORMAL.
Untuk informasi windy, terdapat 2 kondisi yaitu : TRUE dan FALSE.
Pada play golf, terdapat 2 informasi kondisi yaitu : YES dan NO.
Dari dataset tersebut terdapat 14 data. Jika seseorang ingin memutuskan bermain golf atau tidak, kita bisa lihat berdasarkan 4 parameter atau variabel di atas yaitu outlook, temperature, humadity dan windy. Pada kasus di atas, kelas yang akan kita cari atau keputusan atau outputnya adalah play golf, dimana ada 2 kelas (binary class) didalamnya yaitu yes & no. Dari data di atas kita dapat cek berapa kelas yes dan berapa kelas no, karena belum tentu nilainya seimbang. Balance adalah jumlah kelasnya sama, inbalance adalah jumlahnya berbeda (ada yang lebih besar).
Dari data tersebut kita peroleh hasil sebagai berikut:
2. Hitung Jumlah Class/Label
Terdapat 2 class dari data training tersebut, yaitu:
Maka:
P (C1) = 9/14 = 0.64285
P (C2) = 5/14 = 0.35714
Pertanyaan:
Data X = (outlook = rainy, temperature = cool, humadity = high, windy = true)
Main golf atau tidak?
Berikut tahapan penyelesaiannya:
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, antara lain sebagai berikut:
P(outlook="sunny" | play="yes") = 2/9 = 0.22222
P(outlook="sunny" | play="no") = 3/5 = 0.6
P(outlook="overcast" | play="yes") = 4/9 = 0.44444
P(outlook="overcast" | play="no") = 0/5 = 0
P(outlook="rainy" | play="yes") = 3/9 = 0.33333
P(outlook="rainy" | play="no") = 2/5 = 0.4
Jika semua atribut dihitung, maka didapat hasil akhirnya seperti berikut ini:
4. Kalikan Semua Nilai Hasil Sesuai dengan Data X yang Dicari Class-nya
Pertanyaan:
Data X = (outlook = rainy, temperature = cool, humadity = high, windy = true)
Main golf atau tidak?
Kalikan semua nilai hasil dari data X
P(X | play="yes") = 0.33333*0.33333*0.33333*0.33333 = 0.01234
P(X | play="no") = 0.4*0.2*0.8*0.6 = 0,0384
P(X | play="yes")*P(C1) = 0.01234*0.64285 = 0.00793
P(X | play="yes")*P(C1) = 0,0384*0.35714 = 0.01371
Nilai "no" lebih besar dari nilai "yes" maka class dari data X tersebut adalah "No".
Tidak ada komentar:
Posting Komentar