Klasifikasi ( Season 1 ) Naive Bayes

19
Klasifikasi (Season 1) Naive Bayes Pengenalan Pola Materi 3 Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012

description

Klasifikasi ( Season 1 ) Naive Bayes. Pengenalan Pola Materi 3. Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012. Konsep Klasifikasi. - PowerPoint PPT Presentation

Transcript of Klasifikasi ( Season 1 ) Naive Bayes

Page 1: Klasifikasi  ( Season 1 ) Naive  Bayes

Klasifikasi (Season 1)Naive BayesPengenalan PolaMateri 3

Eko PrasetyoTeknik Informatika

UPN “Veteran” Jawa Timur2012

Page 2: Klasifikasi  ( Season 1 ) Naive  Bayes

2

Konsep Klasifikasi Klasifikasi merupakan suatu pekerjaan yang melakukan

penilaian terhadap suatu obyek data untuk masuk dalam suatu kelas tertentu dari sejumlah kelas yang tersedia.

Ada dua pekerjaan utama:◦ Pembangunan model sebagai prototype untuk disimpan sebagai

memori◦ Menggunakan model tersebut untuk melakukan

pengenalan/klasifikasi/prediksi pada suatu obyek data lain masuk pada kelas mana

Contoh aplikasi:◦ Klasifikasi pengenalan jenis hewan spesies baru.◦ Diagnosis penyakir pasien◦ Pengenalan jenis bunga◦ Pemeriksaan kualitas bunga kamboja (bahan teh)◦ Absensi karyawan (dengan sidik jari, mata, wajah, tangan, dsb.)

Page 3: Klasifikasi  ( Season 1 ) Naive  Bayes

3

Model Klasifikasi merupakan pekerjaan yang melakukan

pelatihan/pembelajaran terhadap fungsi target f yang memetakan setiap set atribut (fitur) x ke satu dari sejumlah label kelas y yang tersedia. ◦ Akan menghasilkan suatu model yang kemudian disimpan sebagai memori.

Model dalam klasifikasi sama artinya dengan black box◦ Ada suatu model yang menerima masukan kemudian mampu melakukan

pemikiran terhadap masukan dan memberikan jawaban sebagai keluaran dari hasil pemikirannya.

Pembangunan model selama proses pelatihan menggunakan algoritma pelatihan (learning algorithm)

Pembangunan Model

Masukan

Data Latih (x,y)

Penerapan ModelMasukan

Data Uji (x,?)

Keluaran

Data Uji (x,y)

Algoritma Pelatihan

Page 4: Klasifikasi  ( Season 1 ) Naive  Bayes

4

Algoritma Klasifikasi Dibagi menjadi dua macam: eager learner dan lazy learner. Eager learner

◦ Didesain untuk melakukan pembacaan/ pelatihan/ pembelajaran pada data latih untuk dapat memetakan dengan benar setiap vektor masukan ke label kelas keluarannya.

◦ Model (berupa bobot / sejumlah nilai kuantitas tertentu) disimpan sebagai memori, sedangkan semua data latihnya dibuang.

◦ Prediksi dilakukan menggunakan model yang tersimpan, tidak melibat data uji sama sekali

Trade-off:◦ Proses prediksi berjalan dengan cepat ◦ Proses pelatihan lama

Contoh: Artificial Neural Network (ANN), Support Vector Machine (SVM), Decision Tree, Bayesian, dan sebagainya.

Page 5: Klasifikasi  ( Season 1 ) Naive  Bayes

5

Algoritma KlasifikasiLazy learner◦ Hanya sedikit melakukan pelatihan (bahkan tidak sama

sekali)◦ Hanya menyimpan sebagian atau seluruh data latih,

kemudian menggunakan data latih tersebut ketika proses prediksi.

Trade-off◦ Proses prediksi menjadi lama karena model harus membaca

kembali semua data latihnya untuk dapat memberikan keluaran label kelas dengan benar pada data uji yang diberikan.

◦ Proses pelatihan berjalan dengan cepatContoh: K-Nearest Neighbor (K-NN), Fuzzy K-Nearest

Neighbor (FK-NN), Regresi Linear, dan sebagainya.

Page 6: Klasifikasi  ( Season 1 ) Naive  Bayes

6

Pengukuran Kinerja Klasifikasi Kinerja prediksi suatu sistem tidak bisa bekerja 100% benar. Untuk sebuah sistem klasifikasi harus diukur kinerjanya.

◦ Menggunakan matrik confusion (confusion matrix). Matrik confusion: tabel yang mencatat hasil kerja klasifikasi Jumlah data dari masing-masing kelas yang diprediksi secara

benar adalah (f11 + f00), dan data yang diprediksi secara salah adalah (f10 + f01)

Pengukuran akhir: akurasi dan laju errorfij

Kelas hasil prediksi (j)Kelas = 1 Kelas = 0

Kelas asli (i)

Kelas = 1 f11 f10Kelas = 0 f01 f00

00011011

0011

dilakukan yang prediksiJumlah benar secara diprediksi yang dataJumlah Akurasi

ffffff

00011011

0110

dilakukan yang prediksiJumlah salah secara diprediksi yang dataJumlah errorLaju

ffffff

C = confusionmat(group,grouphat)

Page 7: Klasifikasi  ( Season 1 ) Naive  Bayes

7

Contoh

kelas_asli = [1 1 1 2 2 2 2 2];kelas_hasil = [1 2 1 1 2 2 2 1];jumlah_data_uji = size(kelas_asli,2);conmat = confusionmat(kelas_asli, kelas_hasil)hasil_benar = sum(conmat(logical(eye(2))))hasil_salah = jumlah_data_uji - hasil_benarakurasi = hasil_benar / jumlah_data_ujilajuerror = hasil_salah / jumlah_data_uji

Page 8: Klasifikasi  ( Season 1 ) Naive  Bayes

8

Naive Bayes Classifier Teknik prediksi berbasis probabilistik sederhana yang berdasar pada penerapan

teorema Bayes ◦ Asumsi independensi (ketidaktergantungan) yang kuat (naif). ◦ Model yang digunakan adalah “model fitur independen”

Independensi yang kuat pada fitur adalah bahwa sebuah fitur pada sebuah data tidak ada kaitannya dengan adanya atau tidak adanya fitur yang lain dalam data yang sama.

Contoh: kasus klasifikasi hewan dengan fitur: penutup kulit, melahirkan, berat, dan menyusui◦ Dalam dunia nyata, hewan yang berkembang biak dengan cara melahirkan dipastikan

hewan tersebut menyusui juga, disini ada ketergantungan pada fitur menyusui karena hewan yang menyusui biasanya melahirkan, atau hewan yang bertelur biasanya tidak menyusui.

◦ Dalam Bayes, hal tersebut tidak dipandang, sehingga masing-masing fitur seolah tidak ada hubungan apa-apa.

Kasus lain: prediksi hujan◦ Hujan tergantung angin, cuaca kemarin, kelembaba udara (tidak ada kaitan satu sama

lain)◦ Tapi juga tidak boleh memasukkan fitur lain yang tidak ada hubungannya dengan hujan,

seperti: gempa bumi, kebakaran, dsb.

Page 9: Klasifikasi  ( Season 1 ) Naive  Bayes

9

Teorema Bayes Ide dasar aturan Bayes: hasil dari hipotesis atau peristiwa (H) dapat

diperkirakan berdasarkan pada beberapa evidence (E) yang diamati. Hal penting dalam Bayes:

◦ Sebuah probabilitas awal/priori H atau P(H), adalah probabilitas dari suatu hipotesis sebelum bukti diamati.

◦ Sebuah probabilitas posterior H atau P(H|E), adalah probabilitas dari suatu hipotesis setelah bukti-bukti yang diamati ada.

P(H|E): Probabilitas posterior bersyarat (Conditional Probability) suatu hipotesis H terjadi jika diberikan evidence/bukti E terjadi

P(E|H): Probabilitas sebuah evidence E terjadi akan mempengaruhi hipotesis H

P(H): Probabilitas awal (priori) hipotesis H terjadi tanpa memandang evidence apapun

P(E):Probabilitas awal (priori) evidence E terjadi tanpa memandang hipotesi/evidence yang lain

)()()|()|(

EPHPHEPEHP

Page 10: Klasifikasi  ( Season 1 ) Naive  Bayes

10

Contoh Dalam suatu peramalan cuaca untuk memperkirakan terjadinya hujan, misal ada

faktor yang mempengaruhi terjadinya hujan yaitu mendung. Jika diterapkan dalam Naïve Bayes maka probabilitas terjadinya hujan jika bukti

mendung sudah diamati:

◦ P(Hujan|Mendung) adalah nilai probabilitas hipotesis hujan terjadi jika bukti mendung sudah diamati

◦ P(Mendung|Hujan) adalah probabilitas bahwa mendung yang diamati akan mempengaruhi terjadinya hujan

◦ P(Hujan) adalah probabilitas awal hujan tanpa memandang bukti apapun◦ P(Mendung) adalah probabilitas terjadinya mendung

Teorema Bayes juga bisa menangani beberapa evidence, misalnya ada E1, E2, dan E3, maka probabilitas posterior untuk hipotesis hujan:

Bentuk diatas dapat diubah menjadi:

Untuk contoh diatas, jika ditambahkan evidence suhu udara dan angin

)()()|()|(

MendungPHujanPHujanMendungPMendungHujanP

),,()()|,,(

),,|(321

321321 EEEP

HPHEEEPEEEHP

),,()()|()|()|(

),,|(321

321321 EEEP

HPHEPHEPHEPEEEHP

),,()()|()|()|(

),,|(

AnginSuhuMendungPHujanPHujanAnginPHujanSuhuPHujanMendungP

AnginSuhuMendungHujanP

Page 11: Klasifikasi  ( Season 1 ) Naive  Bayes

11

Naïve Bayes untuk Klasifikasi Korelasi hipotesis dan evidence Bayes dengan klasifikasi

◦ Hipotesis merupakan label kelas yang menjadi target pemetaan dalam klasifikasi,

◦ Evidence merupakan fitur-fitur yang menjadi masukan dalam model klasifikasi.

Jika X adalah vektor masukan yang berisi fitur, dan Y adalah label kelas, maka Naïve Bayes dituliskan dengan P(Y|X) ◦ P(Y|X) adalah probabilitas label kelas Y didapatkan setelah fitur-fitur X

diamati, disebut juga probabilitas akhir (posterior probability) untuk Y. ◦ P(Y) disebut probabilitas awal (prior probability) Y

Pembelajaran probabilitas akhir (P(Y|X) pada model untuk setiap kombinasi X dan Y berdasarkan informasi yang didapat dari data latih.

Dengan membangun model tersebut, maka untuk suatu data uji X’ dapat diklasifikasikan dengan mencari nilai Y’ dengan memilih nilai P(Y’|X’) maksimal yang didapat

Page 12: Klasifikasi  ( Season 1 ) Naive  Bayes

12

Naïve Bayes untuk Klasifikasi Formulasi Naïve Bayes untuk klasifikasi

◦ P(Y|X) adalah probabilitas data dengan vektor X pada kelas Y,

◦ P(Y) adalah probabilitas awal kelas Y, adalah probabilitas independen kelas Y dari semua fitur dalam vektor X.

P(X) selalu tetap, sehingga dalam perhitungan prediksi nantinya cukup hanya dengan menghitung bagian pembilang (atas) dengan memilih yang terbesar sebagai kelas yang dipilih sebagai hasil prediksi.

probabilitas independen

merupakan pengaruh semua fitur dari data terhadap setiap sebuah kelas Y, dinotasikan:

Dimana setiap set fitur X = {X1, X2, X3, …, Xq} yang terdiri dari q atribut (q dimensi)

)()|()(

)|( 1

XPYXPYP

XYPqi i

qi i YXP1 )|(

qi i yYXPyYXP 1 )|()|(

qi i YXP1 )|(

Page 13: Klasifikasi  ( Season 1 ) Naive  Bayes

13

Perlakukan Naïve Bayes untuk tipe data fitur Umumnya Bayes mudah dihitung untuk fitur bertipe kategorikal

◦ Seperti fitur ‘penutup kulit’ {bulu, rambut, cangkang}◦ Fitur ‘jenis kelamin’ dengan nilai {pria, wanita}

Fitur dengan tipe numerik (kontinyu) ada perlakuan khusus sebelum dimasukkan dalam Naïve Bayes.

Dua cara: diskretisasi, asumsi distribusi Diskretisasi: pada setiap fitur kontinyu dan mengganti nilai fitur kontinyu

tersebut dengan nilai interval diskrit. ◦ Dilakukan dengan mentransformasi fitur kontinyu kedalam fitur ordinal.

Mengasumsikan bentuk tertentu dari distribusi probabilitas untuk fitur kontinyu dan memperkirakan parameter distribusi menggunakan data training. ◦ Distribusi Gaussian biasanya dipilih untuk merepresentasikan conditional probability

fitur kontinyu pada sebuah kelas P(X i|Y).

◦ Distrubusi Gaussian dikarakteristikkan dengan dua parameter: mean, , dan varian, 2, x adalah nilai fitur pada data yang akan diprediksi.

2

2

2

)(

exp2

1)|( ij

ijix

ijjii yYxXP

Page 14: Klasifikasi  ( Season 1 ) Naive  Bayes

14

Contoh Data latih klasifikasi hewan. Jika ada sebuah data uji berupa hewan musang dengan nilai fitur: penutup

kulit = rambut, melahirkan = ya, berat = 15, masuk kelas manakah untuk hewan musang tersebut ?

Nama hewan

Penutup kulit

Melahirkan Berat Kelas

Ular Sisik Ya 10 ReptilTikus Bulu Ya 0.8 MamaliaKambing Rambut Ya 21 MamaliaSapi Rambut Ya 120 MamaliaKadal Sisik Tidak 0.4 ReptilKucing Rambut Ya 1.5 MamaliaBekicot Cangkang Tidak 0.3 ReptilHarimau Rambut Ya 43 MamaliaRusa Rambut Ya 45 MamaliaKura-kura Cangkang Tidak 7 Reptil

Page 15: Klasifikasi  ( Season 1 ) Naive  Bayes

15

ContohPenutup kulit MelahirkanMamalia Reptil Mamalia ReptilSisik = 0Bulu = 1Rambut = 5Cangkang = 0

Sisik = 2Bulu = 0Rambut = 0Cangkang = 2

Ya = 6Tidak = 0

Ya = 1Tidak = 3

P(Kulit = Sisik | Mamalia) = 0P(Kulit = Bulu | Mamalia) = 1/6P(Kulit = Rambut | Mamalia) = 5/6P(Kulit = Cangkang | Mamalia) = 0

P(Kulit = Sisik | Reptil) = 0.5P(Kulit = Bulu | Reptil) = 0P(Kulit = Rambut | Reptil) = 0P(Kulit = Cangkang | Reptil) = 0.5

P(Lahir = Ya | Mamalia) = 1P(Lahir = Tidak | Mamalia) = 0

P(Lahir = Ya | Reptil) = 0.25P(Lahir = Tidak | Reptil) = 0.75

Berat KelasMamalia Reptil Mamalia Reptil

Mamalia = 6P(Mamalia) = 6/10 = 0.6

Reptil = 4P(Reptil) = 4/10 = 0.4

55.38mamaliax255.19602 mamalias

275.44mamalias

425.4reptilx6425.232 reptils

8624.4reptils

Page 16: Klasifikasi  ( Season 1 ) Naive  Bayes

16

Contoh Hitung nilai probabilitas untuk fitur dengan tipe numerik yaitu berat.

Hitung probabilitas akhir untuk setiap kelas:P(X | Mamalia) = P(Kulit = Rambut | Mamalia) x P(Lahir = Ya | Mamalia) x P(Berat = 15 |

Mamalia) = 5/6 x 1 x 0.0104 = 0.0087P(X | Reptil) = P(Kulit = Rambut | Reptil) x P(Lahir = Ya | Reptil) x P(Berat = 15 | Reptil) = 0 x 0.25 x 0.8733 = 0

Nilai tersebut dimasukkan untuk mendapatkan probabilitas akhir:◦ P(Mamalia | X) = x 0.6 x 0.0087 = 0.0052◦ P(Reptil | X) = x 0 x 0.4 = 0

= 1/P(X) pasti nilainya konstan sehingga tidak perlu diketahui karena terbesar dari dua kelas tersebut tidak dapat dipengaruhi P(X).

Karena nilai probabilitas akhir (posterior probability) terbesar ada di kelas mamalia, maka data uji musang diprediksi sebagai kelas mamalia.

0104.0exp275.442

1Mamalia)|15P(Berat 255.19602)55.3815( 2

8733.0exp8624.42

1Reptil)|15P(Berat 6425.232)425.415( 2

Page 17: Klasifikasi  ( Season 1 ) Naive  Bayes

17

Implementasi Matlab Fungsi untuk membuat obyek dalam matlab untuk melakukan klasifikasi

dengan Naïve Bayes yaitu fit() dan predict(). Sintaks yang digunakan:

◦ nb = NaiveBayes.fit(training, class)◦ cpre = nb.predict(nb,test)

Fungsi fit() untuk membangun model, predict() untuk melakukan prediksi

Parameter Keterangantraining Matrik MxN untuk data latih. M menyatakan jumlah data

latih, N menyatakan jumlah fitur (bertipe numerik).class Matrik Mx1 untuk kelas dari data latih. Nilainya bisa berupa

string atau numerik. Jumlah baris matrik class harus sama dengan jumlah baris matrik training.

test Matrik yang menyatakan data uji. Jumlah kolom matrik test harus sama dengan matrik training.

cpre Matrik satu kolom yang menyatakan kelas hasil prediksi. Jumlah barisnya sama dengan matrik test.

Page 18: Klasifikasi  ( Season 1 ) Naive  Bayes

18

Contoh di matlabdata = [1 1 20 12 1 0.8 23 1 21 23 1 120 21 2 0.4 13 1 1.5 24 2 0.3 13 1 43 23 1 45 24 2 7 1];data_uji = [3 1 15];data_latih = data(:,1:3);kelas_latih = data(:,4);model = NaiveBayes.fit(data_latih, kelas_latih)kelas_uji_hasil = model.predict(data_uji)

Nilai fitur di kelas 2 nilai variannya 0.Error di perintah training !

Page 19: Klasifikasi  ( Season 1 ) Naive  Bayes

19

ANY QUESTION ?To Be Continued … Klasifikasi (Season 2)