Anda di halaman 1dari 22

Klasifikasi (Season 1)

Naive Bayes
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.)

2
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)
Masukan Algoritma
Data Latih (x,y) Pelatihan

Pembangunan
Model

Masukan Keluaran
Penerapan Model
Data Uji (x,?) Data Uji (x,y)
3
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.
4
Algoritma Klasifikasi
• Lazy 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 cepat
• Contoh: K-Nearest Neighbor (K-NN), Fuzzy K-Nearest Neighbor (FK-
NN), Regresi Linear, dan sebagainya.

5
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 error
Kelas hasil prediksi (j)
fij
Kelas = 1 Kelas = 0 C = confusionmat(group,grouphat)
Kelas Kelas = 1 f11 f10
asli (i) Kelas = 0 f01 f00

Jumlah data yang diprediksi secara benar f11  f 00


Akurasi  
Jumlah prediksi yang dilakukan f11  f10  f 01  f 00

Jumlah data yang diprediksi secara salah f10  f 01


Laju error  
Jumlah prediksi yang dilakukan f11  f10  f 01  f 00
6
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_benar
akurasi = hasil_benar / jumlah_data_uji
lajuerror = hasil_salah / jumlah_data_uji

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

8
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( E | H )  P( H )
P( H | E ) 
P( E )

• 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

9
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( Mendung | Hujan)  P( Hujan)
P( Hujan | Mendung) 
P( Mendung)
• 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:
P( E1 , E2 , E3 | H )  P( H )
P( H | E1 , E2 , E3 ) 
P( E1 , E2 , E3 )

• Bentuk diatas dapat diubah menjadi: P( E1 | H )  P( E2 | H )  P( E3 | H )  P( H )


P( H | E1 , E2 , E3 ) 
P( E1 , E2 , E3 )
• Untuk contoh diatas, jika ditambahkan evidence suhu udara dan angin
P( Hujan | Mendung, Suhu, Angin) 
P( Mendung | Hujan)  P( Suhu | Hujan)  P( Angin | Hujan)  P( Hujan)
P( Mendung, Suhu, Angin) 10
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

11
Naïve Bayes untuk Klasifikasi
• Formulasi Naïve Bayes untuk klasifikasi
P(Y )iq1 P( X i | Y )
P(Y | X ) 
P( X )
• P(Y|X) adalah probabilitas data dengan vektor X pada kelas Y, iq1 P( X i | 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
iq1 P( X i | Y )
• 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)

P( X | Y  y)  iq1 P( X i | Y  y)

12
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(Xi|Y).
• Distrubusi Gaussian dikarakteristikkan dengan dua parameter: mean, , dan varian, 2, x adalah nilai fitur pada data yang akan
diprediksi.

( xi  ij ) 2

1 2 ij2
P ( X i  xi | Y  y j )  exp
2  ij 13
Mean

Standard deviasi
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 Penutup Melahirkan Berat Kelas


hewan kulit
Ular Sisik Ya 10 Reptil
Tikus Bulu Ya 0.8 Mamalia
Kambing Rambut Ya 21 Mamalia
Sapi Rambut Ya 120 Mamalia
Kadal Sisik Tidak 0.4 Reptil
Kucing Rambut Ya 1.5 Mamalia
Bekicot Cangkang Tidak 0.3 Reptil
Harimau Rambut Ya 43 Mamalia
Rusa Rambut Ya 45 Mamalia
Kura-kura Cangkang Tidak 7 Reptil

15
Contoh
Penutup kulit Melahirkan
Mamalia Reptil Mamalia Reptil
Sisik = 0 Sisik = 2 Ya = 6 Ya = 1
Bulu = 1 Bulu = 0 Tidak = 0 Tidak = 3
Rambut = 5 Rambut = 0
Cangkang = 0 Cangkang = 2
P(Kulit = Sisik | P(Kulit = Sisik | P(Lahir = Ya | P(Lahir = Ya | Reptil)
Mamalia) = 0 Reptil) = 0.5 Mamalia) = 1 = 0.25
P(Kulit = Bulu | P(Kulit = Bulu | P(Lahir = Tidak | P(Lahir = Tidak |
Mamalia) = 1/6 Reptil) = 0 Mamalia) = 0 Reptil) = 0.75
P(Kulit = Rambut | P(Kulit = Rambut |
Mamalia) = 5/6 Reptil) = 0
P(Kulit = Cangkang | P(Kulit = Cangkang |
Mamalia) = 0 Reptil) = 0.5

Berat Kelas
Mamalia Reptil Mamalia Reptil
xmamalia  38.55 xreptil  4.425 Mamalia = 6 Reptil = 4
2
s mamalia  1960 .255 2
s reptil  23.6425 P(Mamalia) = 6/10 = P(Reptil) = 4/10 = 0.4
s mamalia  44.275 s reptil  4.8624 0.6
16
Contoh
• Hitung nilai probabilitas untuk fitur dengan tipe numerik yaitu berat.1 (1538.55 ) 2

P(Berat  15 | Mamalia)  exp  0.0104
21960 .255
2 44.275
(15  4.425 ) 2
1 
P(Berat  15 | Reptil)  exp 223.6425  0.8733
2 4.8624

• 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.0087
P(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.

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 Keterangan
training 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.
18
Contoh di matlab
data = [
1 1 20 1
Nilai fitur di kelas 2 nilai
2 1 0.8 2
3 1 21 2 variannya 0.
3 1 120 2 Error di perintah training !
1 2 0.4 1
3 1 1.5 2
4 2 0.3 1
3 1 43 2
3 1 45 2
4 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)

19
Soal
1. jika diketahui terdapat tabel data sebagai barikut:

Jika diberikan test record dengan atribut berikut : X =


(Home Owner = No, Marital Status = Married, Annual
Income = $120K). masuk ke klasifikasi manakah data
tersebut? Yes? or No?
2. PT. Pertamina berencana membuka satu SPBU baru di Jl. Merah Putih dengan kondisi sebagai
berikut:
1. Lebar jalan = jalan tol
2. Volume kendaraan = sepi
3. Jumlah pesaing(SPBU) = >1
4. Jumlah Pemukiman = <3000
Bila didapat suatu data lokasi dari 10 SPBU yang telah didirikan
ANY QUESTION ?
To Be Continued … Klasifikasi (Season 2)

22

Anda mungkin juga menyukai