Senin, 18 Oktober 2021

Klasifikasi Naive Bayes

 



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

Neural Network

Neural network adalah model yang terinspirasi oleh bagaimana neuron dalam otak manusia bekerja. Tiap neuron pada otak manusia saling berhubu...