Klasifikasi Naive Bayes (Bayesian Classification)

Bayesian Classification (Klasifikasi Naive Bayes) merupakan salah satu metode klasifikasi dalam data mining yang menggunakan perhitungan probabilitas dan statistik. Metode ini dikenalkan oleh ilmuwan Inggris Thomas Bayes. Fungsinya yakni memprediksi probabilitas di masa depan berdasarkan pengalaman di masa sebelumnya.

Baca Juga: Algoritma Classification dalam Data Mining: Decision Tree

Mengapa Menggunakan Klasifikasi Naive Bayes?

  • Penggolong statistik: melakukan prediksi probabilitas, misalnya: Memprediksi probabilitas keanggotaan kelas
  • Foundation: Berdasarkan pada Teorema Bayes
  • Kinerja: Penggolong Bayesian sederhana, penggolong Bayesian naif, memiliki kinerja yang sebanding dengan pohon keputusan dan pengklasifikasi jaringan saraf terpilih
  • Tambahan: Setiap contoh pelatihan dapat secara bertahap meningkatkan / menurunkan probabilitas bahwa suatu hipotesis benar – pengetahuan sebelumnya dapat dikombinasikan dengan data yang diamati
  • Standar: Sekalipun metode Bayesian tidak dapat dilakukan secara komputasional, mereka dapat memberikan standar pengambilan keputusan yang optimal yang dapat diukur dengan metode lain.

Dasar Teorema Bayes

Teorema Total probabilitas:

Teorema Total probabilitas

Teorema Bayes:

Teorema Bayes
  • Misalkan X menjadi sampel data (“bukti”): label kelas tidak diketahui
  • Misalkan H menjadi hipotesis bahwa X termasuk kelas C
  • Klasifikasi adalah untuk menentukan P (H | X), (yakni: Probabilitas posteriori): probabilitas yang dimiliki hipotesis yang diberikan dengan data sampel yang diamati X
  • P (H) (probabilitas sebelumnya): probabilitas awal
    • E.g., X akan membeli komputer, tanpa memandang usia, penghasilan, …
  • P (X): probabilitas bahwa data sampel diamati
  • P (X | H) (kemungkinan): probabilitas untuk mengamati sampel X, mengingat hipotesis itu berlaku
    • E.g., Mengingat X akan membeli komputer, masalahnya. bahwa X adalah 31..40, penghasilan menengah

Prediksi Berdasarkan Teorema Bayes

  • Dengan data training X, probabilitas posteriori dari hipotesis H, P (H | X), mengikuti teorema Bayes
Teorema Bayes
  • Secara informal, ini dapat dilihat sebagai
    • posteriori = kemungkinan x sebelum / bukti
  • Prediksi X adalah milik Ci jika probabilitas P (Ci | X) adalah yang tertinggi di antara semua P (Ck | X) untuk semua kelas k
  • Kesulitan praktis: Ini membutuhkan pengetahuan awal tentang banyak probabilitas, yang melibatkan biaya komputasi yang signifikan

Klasifikasi adalah untuk Memperoleh Posteriori Maksimum

  • Misalkan D menjadi kumpulan pelatihan tupel dan label kelas terkait, dan setiap tupel diwakili oleh vektor atribut n-D X = (x1, x2, …, xn)
  • Misalkan ada kelas m C1, C2, …, Cm.
  • Klasifikasi adalah untuk memperoleh posteriori maksimum, misalnya Maksimal P (Ci | X)
  • Ini yang diperoleh dari teorema Bayes
  • Karena P (X) konstan untuk semua kelas, hanya perlu dimaksimalkan

Klasifikasi Naive Bayes

  • Asumsi yang disederhanakan: atribut independen secara kondisional (mis., Tidak ada hubungan ketergantungan antara atribut):
  • Ini sangat mengurangi biaya perhitungan: Hanya menghitung distribusi kelas
  • Jika Ak adalah kategorikal, P (xk | Ci) adalah # dari tuple di Ci yang memiliki nilai xk untuk Ak dibagi dengan | Ci, D | (# dari tuple Ci di dalam D)
  • Jika Ak continous-valued, P (xk | Ci) biasanya dihitung berdasarkan distribusi Gaussian dengan rata-rata μ dan standar deviasi σ dan P (xk | Ci) adalah

Training Dataset

Training Dataset
  • Class: C1 :buys_computer = ‘yes’ C2 :buys_computer = ‘no’
  • Data Diklasifikasikan: X = (age <=30, income = medium, student = yes, credit_rating = fair)
  • Apakah X → buy computer?

Kalkulasi

  • P(Ci ):
    • P(buys_computer = “yes”) = 9/14 = 0.643
    • P(buys_computer = “no”) = 5/14= 0.357
  • Hitung P(X|Ci ) Untuk tiap kelas
    • P(age = “<=30” | buys_computer = “yes”) = 2/9 = 0.222
    • P(age = “<= 30” | buys_computer = “no”) = 3/5 = 0.6
    • P(income = “medium” | buys_computer = “yes”) = 4/9 = 0.444
    • P(income = “medium” | buys_computer = “no”) = 2/5 = 0.4
    • P(student = “yes” | buys_computer = “yes) = 6/9 = 0.667
    • P(student = “yes” | buys_computer = “no”) = 1/5 = 0.2
    • P(credit_rating = “fair” | buys_computer = “yes”) = 6/9 = 0.667
    • P(credit_rating = “fair” | buys_computer = “no”) = 2/5 = 0.4
  • X = (age <= 30 , income = medium, student = yes, credit_rating = fair)
    • P(X|Ci ) :
      • P(X|buys_computer = “yes”) = 0.222 x 0.444 x 0.667 x 0.667 = 0.044
      • P(X|buys_computer = “no”) = 0.6 x 0.4 x 0.2 x 0.4 = 0.019
    • P(X|Ci )*P(Ci ) :
      • P(X|buys_computer = “yes”) * P(buys_computer = “yes”) = 0.028
      • P(X|buys_computer = “no”) * P(buys_computer = “no”) = 0.007
  • Oleh karena itu, X milik kelas (“buys_computer = yes”)

Tahapan Algoritma Naive Bayes

  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

Baca Data Training

Data Training Playing Golf

Teorema Bayes

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

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?

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

Jika semua atribut dihitung, maka didapat hasil akhirnya seperti berikut ini:

AtributeParameterNoYes
Outlookvalue=sunny0.60.2222222222222222
Outlookvalue=cloudy0.00.4444444444444444
Outlookvalue=rainy0.40.3333333333333333
Temperaturevalue=hot0.4 0.2222222222222222
Temperaturevalue=mild0.40.4444444444444444
Temperaturevalue=cool0.20.3333333333333333
Humidityvalue=high0.80.3333333333333333
Humidityvalue=normal0.20.6666666666666666
Windyvalue=false0.40.6666666666666666
Windyvalue=true0.60.3333333333333333
Hasil hitung tiap atribut

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.40.20.80.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”

Baca Juga: Algoritma Clustering dalam Data Mining: Metode Partisi

Menghindari Masalah Zero-Probability

  • Prediksi Naïve Bayesian mensyaratkan setiap Probabilitas bersyarat menjadi nol. Jika tidak, Probabilitas yang diprediksi akan menjadi nol
  • Misalkan dataset dengan 1000 tupel, pendapatan = rendah (0), penghasilan = sedang (990), dan pendapatan = tinggi (10)
  • 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
    • Masalah “terkoreksi”. Perkiraan dekat dengan rekan-rekan mereka “tidak dikoreksi”

Kelebihan dan Kekurangan Klasifikasi Naive Bayes

  • Keuntungan
    • Mudah diimplementasikan
    • Hasil yang baik diperoleh di sebagian besar kasus
  • Kekurangan
    • Asumsi: independensi kondisional kelas, oleh karena itu kehilangan keakuratan
    • Secara praktis, ketergantungan ada di antara variabel, mis .: .:
      • Profil Pasien Rumah Sakit: usia, riwayat keluarga, dll.
      • Gejala: demam, batuk dll.,
      • Penyakit: kanker paru-paru, diabetes, dll.
    • Ketergantungan di antara ini tidak dapat dimodelkan oleh Naïve Bayes Classifier
  • Bagaimana cara mengatasi ketergantungan ini? Bayesian Belief Networks

Baca Juga: Memahami Konsep Data Mining Beserta Prosesnya

Tinggalkan komentar

error: Content is protected !!
Exit mobile version