Pemodelan Simulasi - Klasifikiasi Decision Tree

Anda mungkin juga menyukai

Anda di halaman 1dari 66

Klasifikasi & Pohon

Keputusan
Pemodelan dan Simulasi
Pertemuan 7
Pengantar
• Classification
– Memprediksi kelas suatu item
– Membuat model berdasarkan data pelatihan dan
digunakan untuk mengklasifikasi data.
• Prediction
– Memprediksi nilai yang belum diketahui
• Aplikasi
– Persetujuan kredit
– Diagnosis penyakit
– Target marketing
– Fraud detection
Contoh Kasus
• Input: data mahasiswa
• Output: dua kelas (lulus_tepat_waktu dan
lulus_terlambat)

Bagaimana kalau diberikan data input


mahasiswa, sistem secara otomatis
menentukan mhs tersebut akan lulus tepat
waktu atau terlambat?
Pembuatan Model
Algoritma
Klasifikasi
Data
Pelatihan

NAMA IPK Sem 1 Matdas tepat_waktu Classifier


Budi 3 A yes (Model)
Wati 1.5 E no
Badu 2 A yes
Rudi 3.5 C yes IF IPK > 3
OR MATDAS =A
THEN tepat_waktu =
‘yes’
Proses Testing Model

Classifier
(MODEL)

Testing
Data

NAMA IPK_SEM1 MADAS TEPAT_WAKTU


Akhmad 3.2 A yes Sejauh mana
model tepat
Intan 3.3 B no meramalkan?
Indah 2.3 C yes
Ujang 1.7 E no
Proses Klasifikasi

Classifier
(MODEL)

Data Baru

(Tatang, 3.0, A)

Lulus tepat waktu?


• Proses pembuatan model
– Data latihan  Model Klasifikasi
• Proses testing model
– Data testing  Apakah model sudah benar?
• Proses klasifikasi
– Data yang tidak diketahui kelasnya  kelas
data
Sebelum Klasifikasi
• Data cleaning
– Preprocess data untuk mengurangi noise dan missing
value
• Relevance analysis (feature selection)
– Memilih atribut yang penting
– Membuang atribut yang tidak terkait atau duplikasi.
• Data transformation
– Generalize and/or normalize data
Evaluasi Metode Klasifikasi
• Akurasi
– classifier accuracy: memprediksi label kelas
– predictor accuracy: memprediksi nilai atribut
• kecepatan
– Waktu untuk membuat model (training time)
– Waktu untuk menggunakan model (classification/prediction time)
• Robustness: menangai noise dan missing value.
• Scalability: efisien untuk proses dengan DBMS
• Interpretability
– Model mudah dimengerti

• Slide berikutnya… salah satu metode: decision tree


Decision Tree
Proses Klasifikasi
Dalam Data Mining
• Klasifikasi adalah proses untuk menemukan model atau fungsi yang
menjelaskan atau membedakan konsep atau kelas data, dengan
tujuan untuk dapat memperkirakan kelas dari suatu objek yang
labelnya tidak diketahui. Model itu sendiri bisa berupa aturan “jika-
maka”, berupa decision tree, formula matematis atau neural network.
(Iko Pramudiono, Modul Pengantar Data Mining,
www.ilmukomputer.com)
• Proses klasifikasi biasanya dibagi menjadi dua fase : learning dan
test. Pada fase learning, sebagian data yang telah diketahui kelas
datanya diumpankan untuk membentuk model perkiraan. Kemudian
pada fase test model yang sudah terbentuk diuji dengan sebagian
data lainnya untuk mengetahui akurasi dari model tsb. Bila
akurasinya mencukupi model ini dapat dipakai untuk prediksi kelas
data yang belum diketahui.
• Klasifikasi dicirikan dengan data training mempunyai label,
berdasarkan label ini proses klasifikasi memperoleh pola attribut dari
suatu data.
Proses Klasifikasi
Dalam Data Mining
X Y Kelas
0 0 1
0 1 1
1 0 2
1 1 2

Kelas 1 Kelas 2
Proses Klasifikasi Dapat Menjadi
Sebuah Tree

X Y Kelas
0 0 1
0 1 1
1 0 2 X
1 1 2
0 1

Kelas=1 Kelas=2
Proses Klasifikasi Dapat Menjadi
Sebuah Tree
X Y Z Kelas
0 0 0 2
X
0 0 1 2
0 1 0 1
0 1
0 1 1 1
1 0 0 2 Kelas=2
1 0 1 2 Y

1 1 0 2
1 1 1 2 0 1

Kelas=2 Kelas=1
Konsep Decision Tree

Mengubah data menjadi pohon keputusan (decision


tree) dan aturan-aturan keputusan (rule)

Data Decision Rule


Tree Berat
Nama Usia Berat Kelamin Hipertensi
underweight
Ali muda overweight pria ya overweight average
Edi muda underweight pria tidak

Annie muda average wanita tidak Jenis Kelamin Tidak Tidak


Budiman tua overweight pria tidak R1: IF berat=average v
wanita pria berat=underweight
Herman tua overweight pria ya THEN
hipertensi=tidak
Didi muda underweight pria tidak Ya Usia R2: IF
Rina tua overweight wanita ya berat=overweight^kelamin=wanita
muda tua THEN hipertensi=ya
Gatot tua average pria tidak R3: IF berat=overweigt^kelamin=pria^
usia=muda THEN hipertensi=ya
Ya Ya/Tidak
R4: IF berat=overweigt^kelamin=pria^
usia=tua THEN hipertensi=tidak
Gambaran Pemakaian Decision
Tree

Membuat aturan (rule) yang dapat digunakan untuk menentukan


apakah seseorang mempunyai potensi untuk menderita hipertensi
atau tidak berdasarkan data usia, berat badan dan jenis kelamin.

# Usia Berat Badan Kelamin Hipertensi


1 muda overweight pria ya
2 muda underweight pria tidak
3 muda average wanita tidak
4 tua overweight pria tidak
5 tua overweight pria ya
6 muda underweight pria tidak
7 tua overweight wanita ya
8 tua average pria tidak
Gambaran Pemakaian Decision
Tree

Berat
underweight
overweight average

Jenis Kelamin Tidak Tidak


R1: IF berat=average v berat=underweight
wanita pria THEN hipertensi=tidak
R2: IF berat=overweight^kelamin=wanita
Ya Usia THEN hipertensi=ya
R3: IF berat=overweigt^kelamin=pria^
tua usia=muda THEN hipertensi=ya
muda R4: IF berat=overweigt^kelamin=pria^
usia=tua THEN hipertensi=tidak
Ya Tidak
Konsep Data
Dalam Decision Tree
• Data dinyatakan dalam bentuk tabel dengan atribut dan
record.
• Atribut menyatakan suatu parameter yang dibuat
sebagai kriteria dalam pembentukan tree. Misalkan
untuk menentukan main tenis, kriteria yang diperhatikan
adalah cuaca, angin dan temperatur. Salah satu atribut
merupakan atribut yang menyatakan data solusi per-item
data yang disebut dengan target atribut.
• Atribut memiliki nilai-nilai yang dinamakan dengan
instance. Misalkan atribut cuaca mempunyai instance
berupa cerah, berawan dan hujan.
Konsep Data
Dalam Decision Tree

Nama Cuaca Angin Temperatur Main

Ali cerah keras panas tidak


Budi cerah lambat panas ya
Heri berawan keras sedang tidak
Irma hujan keras dingin tidak
Diman cerah lambat dingin ya

Sample Target atribut


attribut
Proses Dalam Decision Tree

• Mengubah bentuk data (tabel) menjadi


model tree. Dalam Modul ini
menggunakan algoritma ID3.
• Mengubah model tree menjadi rule
• Menyederhanakan Rule (Pruning)
Proses Data Menjadi Tree

Indentity Target
Atribut Atribut 1 Atribut 2 Atribut 3 ...... Atribut n Atribut

Atribut #1

Subset 1 Subset 2 Subset 3

Atribut #2 Atribut #2 Atribut #2


Entropy
• S adalah ruang (data) sample yang digunakan untuk training.
• P+ adalah jumlah yang bersolusi positif (mendukung) pada data
sample untuk kriteria tertentu.
• P- adalah jumlah yang bersolusi negatif (tidak mendukung) pada
data sample untuk kriteria tertentu.
• Besarnya Entropy pada ruang sample S didefinisikan dengan:
Entropy(S) = -p+ log2 p+ - p- log2 p-
Definisi Entropy
• Entropy(S) adalah jumlah bit yang diperkirakan
dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau
-) dari sejumlah data acak pada ruang sample S.
• Entropy bisa dikatakan sebagai kebutuhan bit untuk
menyatakan suatu kelas. Semakin kecil nilai Entropy
maka semakin baik untuk digunakan dalam mengekstraksi
suatu kelas.
• Panjang kode untuk menyatakan informasi secara optimal
adalah –log2 p bits untuk messages yang mempunyai
probabilitas p.
• Sehingga jumlah bit yang diperkirakan untuk
mengekstraksi S ke dalam kelas adalah:
-p+ log2 p+ - p- log2 p-
Contoh Permasalahan Penentuan
Hipertensi Menggunakan Decision Tree

Data diambil dengan 8 sample, dengan pemikiran bahwa


yang mempengaruhi seseorang menderita hipertensi
atau tidak adalah usia, berat badan, dan jenis kelamin.

Usia mempunyai instance:


muda dan tua
Berat badan mempunyai instance:
underweight, average dan overweight
Jenis kelamin mempunyai instance:
pria dan wanita
Data Sample yang Digunakan Untuk
Menentukan Hipertensi

Nama Usia Berat Kelamin Hipertensi


Ali muda overweight pria ya
Edi muda underweight pria tidak
Annie muda average wanita tidak
Budiman tua overweight pria tidak
Herman tua overweight pria ya
Didi muda underweight pria tidak
Rina tua overweight wanita ya
Gatot tua average pria tidak

Langkah Mengubah Data Menjadi Tree


• Menentukan Node Terpilih
• Menyusun Tree
Menentukan Node Terpilih

• Untuk menentukan node terpilih,


gunakan nilai Entropy dari setiap
kriteria dengan data sample yang
ditentukan.
• Node terpilih adalah kriteria dengan
Entropy yang paling kecil.
Memilih Node Awal

Usia Hipertensi Jumlah


Usia = muda
muda Ya (+) 1 1 1 3 3
muda Tidak (-) 3 q1   log 2  log 2  0.81
tua ya 2
4 4 4 4
tua tidak 2

Usia = tua

2 2 2 2
q2   log 2  log 2  1
4 4 4 4
Entropy untuk Usia:

4 4 4 4
E  q1  q2  0.81  1  0.91
8 8 8 8
Memilih Node Awal
Usia Hipertensi Jumlah Berat Hipertensi Jumlah
muda ya 1 overweight ya 3
muda tidak 3 overweight tidak 1
tua ya 2 average ya 0
tua tidak 2 average tidak 2
underweight ya 0
Entropy = 0.91
underweight tidak 2

Kelamin Hipertensi Jumlah Entropy = 0.41


pria ya 2
pria tidak 4 Terpilih atribut BERAT BADAN
wanita ya 1 sebagai node awal karena
wanita tidak 1 memiliki entropy terkecil

Entropy = 0.94
Penyusunan Tree Awal

Berat
underweight
overweight average

Ali (+) Annie (-) Didi (-)


Budiman (-) Gatot (-) Edi (-)
Herman (+)
Rina (+)

Leaf Node berikutnya dapat dipilih pada bagian yang


mempunyai nilai + dan -, pada contoh di atas hanya
berat=overweight yang mempunyai nilai + dan – maka
semuanya pasti mempunya leaf node. Untuk menyusun
leaf node lakukan satu-persatu.
Penentuan Leaf Node Untuk
Berat=Overweight
Data Training untuk berat=overweight

Nama Usia Kelamin Hipertensi


Ali muda pria ya
Budiman tua pria tidak
Herman tua pria ya
Rina tua wanita ya

Usia Hipertensi Jumlah Kelamin Hipertensi Jumlah


muda ya 1 pria ya 2
tidak 0 tidak 1
tua ya 2 wanita ya 1
tidak 1 tidak 0
Entropy = 0,69 Entropy = 0,69
Penyusunan Tree

Berat
underweight
overweight average

Jenis Kelamin Tidak Tidak

wanita pria

Rina (+) Ali (+)


Budiman (-)
Herman (+)
Leaf Node Usia dan Jenis Kelamin memiliki Entropy
yang sama, sehingga tidak ada cara lain selain
menggunakan pengetahuan pakar atau percaya saja
pada hasil acak.
Hasil Tree

Berat
underweight
overweight average

Jenis Kelamin Tidak Tidak

wanita pria Nama Usia Kelamin Hipertensi

Usia
Ali muda pria ya
Ya
Budiman tua pria tidak
muda tua Herman tua pria ya

Ya Ya/Tidak Pada usia=tua ternyata ada 1 data


menyatakan ya dan 1 data menyatakan
tidak, keadaan ini perlu dicermati. Pilihan
hanya dapat ditentukan dengan campur
tangan seoranng pakar.
Mengubah Tree Menjadi Rules
Atribut #1

Subset 1 Subset 2 Subset 3

Atribut #2 Atribut #2 Atribut #2

Subset 21 Subset 22

Answer 1 Answer 2

If atribut#1=subset2 ^ atribut#2=subset21
then answer=answer1
If atribut#1=subset2 ^ atribut#2=subset22
then answer=answer2
Conjunction & Disjunction
Cuaca

Cerah
Hujan Berawan
Angin
No No
Lambat Keras
Disjunction v

Yes No IF cuaca=hujan v cuaca=berawan THEN


MainTenis=No

Conjunction ^
IF cuaca=cerah ^ angin=lambat THEN
MainTenis=Yes
IF cuaca=cerah ^ angin=keras THEN
MainTenis=No
Mengubah Tree Menjadi Rule

Berat
underweight
overweight average

Jenis Kelamin Tidak Tidak

wanita pria
R1: IF berat=average v
berat=underweight
Ya Usia THEN hipertensi=tidak
muda tua R2: IF berat=overweight^kelamin=wanita
THEN hipertensi=ya
Ya Tidak R3: IF berat=overweigt^kelamin=pria^
usia=muda THEN hipertensi=ya
R4: IF berat=overweigt^kelamin=pria^
usia=tua THEN hipertensi=tidak
Hasil Prediksi Pada Data Training

Nama Usia Berat Kelamin Hipertensi Prediksi


Ali muda overweight pria ya ya
Edi muda underweight pria tidak tidak
Annie muda average wanita tidak tidak
Budiman tua overweight pria tidak tidak
Herman tua overweight pria ya tidak
Didi muda underweight pria tidak tidak
Rina tua overweight wanita ya ya
Gatot tua average pria tidak tidak

Kesalahan (e) = 12.5 %


( 1 dari 8 data )
Decision Tree
• Diciptakan oleh Ross Quinlan
• ID3, C4.5, C5.0
• Model direpresentasikan dalam bentuk
tree
Decision Tree: Contoh Input
(Data Latih)
age income student credit_rating buys_computer
<=30 high no fair no
<=30 high no excellent no
31…40 high no fair yes
>40 medium no fair yes
>40 low yes fair yes
>40 low yes excellent no
31…40 low yes excellent yes
<=30 medium no fair no
<=30 low yes fair yes
>40 medium yes fair yes
<=30 medium yes excellent yes
31…40 medium no excellent yes
31…40 high yes fair yes
>40 medium no excellent no
Masalah
• Bagaimana dari data latih tersebut dapat
diperoleh model yang bisa
mengklasifikasikan secara otomatis?
Model: Decision Tree
age?

<=30 overcast
31..40 >40

student? yes credit rating?

no yes excellent fair

no yes no yes

Dari data latih, model ini dibangkitkan


secara otomatis…
Tree Dapat Direpresentasikan
sebagai Rule
age? ((age<=30) and
(student) )
<=30 overcast
31..40 >40 OR
student? yes credit rating? (age=31..40)
excellent fair
OR
no yes
(age>40) and
no yes no yes
(credit_rating=fair)
THEN
BELI_PC=YES
Bagaimana cara pemilihan
urutan atribut?

age?

<=30 overcast
31..40 >40

student? yes credit rating?

no yes excellent fair

no yes no yes
Cara Pemilihan Atribut
• Entrophy: Ukuran kemurnian, semakin murni,
semakin homogen, semakin rendah nilainya.
• Information Gain: pengurangan entropy
disebabkan oleh partisi berdasarkan suatu
atribut.
Semakin besar info gain = atribut itu semakin
membuat homogen = semakin bagus
Idenya  pilih atribut dengan info gain yg
paling besar
Entrophy untuk dua kelas: + dan -
Entropy(S)  -p log 2 p - p  log 2 p 
Entropy([9+,5-] ((9 positif, 5 neg)) =
-(9/14) log2(9/14) – (5/14) log2(5/14)
1.0
= 0.940
entropy

Entropy([9+,5-]) = 0.940
Entropy([7+,7-]) = 1
0.0 Entropy([14+,0]) = 0
1.0 Entroy([0+,14-]) = 0
Proprosi contoh positif
Entrophy untuk kelas > 2

m
Info( D)   pi log 2 ( pi )
i 1

Info (D) = Entrophy (D) (istilah dibuku J. HAN)


Information Gain
v | Dj |
Info A ( D)    I (D j )
j 1 |D|

Gain(A)  Info(D)  Info A(D)

Gain(A) seberapa besar entropy berkurang


akibat atribut A. Makin besar makin bagus.
Contoh Pemilihan Atribut
• Class P: buys_computer = “yes” 5 4
Infoage ( D )  I (2,3)  I (4,0)
• Class N: buys_computer = “no” 14 14
9 9 5 5 5
Info( D)  I (9,5)   log 2 ( )  log 2 ( ) 0.940  I (3,2)  0.694
14 14 14 14 14
5
age pi n i I(p i, n i) I (2,3) berarti ada 5 dari 14
14
<=30 2 3 0.971
31…40 4 0 0 “age <=30” dgn 2 yes dan
>40 3 2 0.971
3 no.
age income student credit_rating buys_computer
<=30 high no fair no
<=30 high no excellent no Gain (Age) = Info(D) – Info age (D)
31…40 high no fair yes
>40 medium no fair yes
=0.940 – 0.694 = 0.246
>40 low yes fair yes
>40 low yes excellent no

Gain(income)  0.029
31…40 low yes excellent yes
<=30 medium no fair no
<=30 low yes fair yes
>40
<=30
medium
medium
yes
yes
fair
excellent
yes
yes
Gain( student )  0.151
31…40
31…40
medium
high
no
yes
excellent
fair
yes
yes Gain(credit _ rating )  0.048
>40 medium no excellent no
Pemilihan Atribut (lanj)
Gain (Age) = 0.246  yang terbesar, dipilih
Gain (income)=0.029
Gain(student)=0.151
Gain(credit_rating) =0.048

Setelah AGE, atribut apa selanjutnya?

Diproses untuk setiap cabang selama masih ada > 1 kelas

age?

<=30 overcast
31..40 >40
Selanjutnya... proses data yang
<=30 Tidak perlu
yes
diproses lagi
Pemilihan Atribut (lanj)
Selanjutnya... proses data age<=30
age income student credit_rating buys_computer
<=30 high no fair no
<=30 high no excellent no
<=30 medium no fair no
<=30 low yes fair yes
<=30 medium yes excellent yes

2 2 3 3
Info ( D)  I (2,3)   log 2 ( )  log 2 ( ) 0.97
5 5 5 5
Gain(age) tidak perlu dihitung lagi, hitung gain(student),
gain(credit_rating)
3 2
Infostudent ( D)  I (0,3)  I (2,0)  0
5 5
Gain (student) = Info(D) – Infostudent(D)
=0.97 – 0 = 0.97
Pemilihan Atribut (lanj)
age income student credit_rating buys_computer
<=30 high no fair no
<=30 high no excellent no
<=30 medium no fair no
<=30 low yes fair yes
<=30 medium yes excellent yes

hitung gain(credit_rating)
2 2 3 3
Info ( D)  I (2,3)   log 2 ( )  log 2 ( ) 0.97
5 5 5 5
3 2
Infocredit _ rating ( D)  I (1,2)  I (1,1)  0.95
5 5
Gain (credit_rating) = Info(D) – Infostudent(D)
=0.97 – 0.95 = 0.02

2 2 1
Infoincome ( D)  I (0,2)  I (1,1)  I (1,0)  0.4
5 5 5
Pilihan Atribut (lanj)
Bandingkan semua gain, ambil yang paling besar

Gain (studet) = 0.97


Gain (credit_rating = 0.02
Gain (income) = 0.4

Paling besar
student
Pemilhan Atribut (lanj)
age?

<=30 overcast
31..40 >40

student?
yes

no yes

no yes
Latihan
No Kelas Kulit Buah Warna Ukuran Bau
1 Aman Kasar Coklat Besar keras
2 Aman Kasar Hijau Besar keras
3 Berbahaya Halus Merah Besar Lunak
4 Aman Kasar Hijau Besar Lunak
5 Aman Kasar Merah Kecil Keras
6 Aman Halus Merah Kecil Keras
7 Aman Halus Coklat Kecil Keras
8 Berbahaya Kasar Hijau Kecil Lunak
9 Berbahaya Halus Hijau Kecil Keras
10 Aman Kasar Merah Besar Keras
11 Aman Halus Coklat Besar Lunak
12 Berbahaya Halus Hijau Kecil Keras
13 Aman Kasar Merah Kecil Lunak
14 Berbahaya Halus Merah Besar Keras
15 Aman Halus Merah Kecil Keras
16 Berbahaya Kasar Hijau Kecil Keras
Mengapa Decision Tree?
• Mudah diimplementasikan
• Hipotesis yang dihasilkan mudah dipahami
• Efisien
Decision Tree Cocok
untuk Masalah:

• Data dalam bentuk atribut-nilai. Kondisi


ideal adalah jika isi nilai jumlahnya sedikit.
Misalnya: “panas”, “sedang”, “dingin”.
• Output diskrit.
• Training data dapat tidak lengkap
Masalah DT
• Overfitting: terlalu mengikuti training data
– Terlalu banyak cabang, merefleksikan anomali akibat noise atau outlier.
– Akurasi rendah untuk data baru

• Dua pendekatan untuk menghindari overfitting


– Prepruning: Hentikan pembuatan tree di awal. Tidak mensplit node jika
goodness measure dibawah threshold.
• Sulit untuk menentukan threshold
– Postpruning: Buang cabang setelah tree jadi
• Menggunakan data yang berbeda dengan training untuk
menentukan pruned tree yang terbaik.
Bayesian Classification
• P( H | X ) Kemungkinan H benar jika X. X
adalah kumpulah atribut.
• P(H) Kemungkinan H di data, independen
terhadap X
• P (“Single” | “muka sayu”, “baju berantakan”,
“jalan sendiri”)  nilainya besar
• P (“Non Single” | “muka ceria”, “baju rapi”, “jalan
selalu berdua”)  nilainya besar
• P (“Single”) = jumlah single / jumlah mahasiwa
• P( H | X )  posterior
• P(H)  a priori
• P (X | H) probabilitas X, jika kita ketahui bahwa H
benar  data training
• Kegiatan klasifikasi: kegiatan mencari P (H | X)
yang paling maksimal
• Teorema Bayes:

P(H | X)  P ( X | H ) P ( H )
P(X)
Klasifikasi
X = (“muka cerah”, “jalan sendiri”, “baju rapi”)
Kelasnya Single atau Non Single?
Cari P(H|X) yang paling besar:
( “Single” | “muka cerah”, “jalan sendiri”, “baju
rapi”)
Atau
( “Non Single” | “muka cerah”, “jalan sendiri”,
“baju rapi”)
Harus memaksimalkan (Ci: kelas ke i)

P(X | C )P(C )
P(C | X)  i i
i P(X)
Karena P(X) konstan untuk setiap Ci maka
bisa ditulis, pencarian max untuk:

P(C | X)  P(X | C )P(C )


i i i
Naïve Bayes Classifier
• Penyederhanaan masalah: Tidak ada
kaitan antar atribut “jalan sendiri” tidak
terakait dengan “muka sayu”
n
P( X | C i )   P( x | C i )  P( x | C i)  P( x | C i)  ... P( x | C i)
k 1 2 n
k 1

X1: atribut ke-1 (“jalan sendiri”)


Xn: atribut ke-n
Naïve Bayes
• Jika bentuknya kategori ,
P(xk|Ci) = jumlah kelas Ci yang memiliki xk
dibagi | Ci | (jumlah anggota kelas Ci di
data contoh)
• Jika bentuknya continous dapat
menggunakan distribusi gaussian
Contoh Naïve Bayes
age income studentcredit_rating
buys_computer
<=30 high no fair no
<=30 high no excellent no
31…40 high no fair yes
>40 medium no fair yes
>40 low yes fair yes
>40 low yes excellent no
31…40 low yes excellent yes
<=30 medium no fair no
<=30 low yes fair yes
>40 medium yes fair yes
<=30 medium yes excellent yes
31…40 medium no excellent yes
31…40 high yes fair yes
>40 medium no excellent no
Contoh Naïve Bayes
P(Ci):
P(buys_computer = “yes”) = 9/14 = 0.643
P(buys_computer = “no”) = 5/14= 0.357

Training: Hitung P(X|Ci) untuk setiap 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

Klasifikasi: 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
Pro, Cons Naïve Bayes
• Keuntungan
– Mudah untuk dibuat
– Hasil bagus
• Kerugian
– Asumsi independence antar atribut membuat
akurasi berkurang (karena biasanya ada
keterkaitan)
Supervised vs. Unsupervised
Learning
• Supervised learning (classification)
– Supervision: Data pelatihan mengandung label
kelas.
– Data diklasifikasikan menggunakan model.
• Unsupervised learning (clustering)
– Data pelatihan tidak mengandung label kelas
– Mencari kelas atau cluster di dalam data.
– Akan dijelaskan terpisah

Anda mungkin juga menyukai