Pemodelan Simulasi - Klasifikiasi Decision Tree
Pemodelan Simulasi - Klasifikiasi Decision Tree
Pemodelan Simulasi - Klasifikiasi Decision Tree
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)
Classifier
(MODEL)
Testing
Data
Classifier
(MODEL)
Data Baru
(Tatang, 3.0, A)
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
Berat
underweight
overweight average
Indentity Target
Atribut Atribut 1 Atribut 2 Atribut 3 ...... Atribut n Atribut
Atribut #1
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
Entropy = 0.94
Penyusunan Tree Awal
Berat
underweight
overweight average
Berat
underweight
overweight average
wanita pria
Berat
underweight
overweight average
Usia
Ali muda pria ya
Ya
Budiman tua pria tidak
muda tua Herman tua pria ya
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
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
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
<=30 overcast
31..40 >40
no yes no yes
age?
<=30 overcast
31..40 >40
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
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
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
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:
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: