Slide Presentation
By
RACHMAT AULIA, S.KOM, M.SC.IT
KLASIFIKASI TEKNIK DECISION TREE
• Pendahuluan
• Definisi DT
• Manfaat DT
• Kelebihan & Kekurangan DT
• Model DT
• Algoritma DT
Algoritma Decision Tree
• Algoritma ID3
Algoritma ID3 adalah algoritma yang digunakan
untuk membangun pohon keputusan (decision
tree)
ID3 awalnya diperkenalkan oleh J.Rose Quinlan
sekitar tahun 1979, dengan memanfaatkan teori
informasi (information teory) milik Shanon
ID3 merupakan singkatan dari Iterative
Dichotomiser 3
ID3 tidak pernah melakukan backtracking untuk
merevisi keputusan pemilihan atribut yang telah
dilakukan sebelumnya
Cont…
ID3 hanya menangani atribut-atribut yang
jumlahnya sedikit dan diskret
Sedangkan modifikasi dari ID3 yaitu C.45
mampu menangani nilai atribut kontinue
=> Formula
Entropy
Note:
S adalah himpunan (dataset)
k = banyaknya partisi
Pj = probabilitas yang didapat dari Sum(Ya)
dibagi total kasus
Cont…
o Setelah mendapatkan nilai entropy, pemilahan atribut
dilakukan dengan nilai information gain terbesar
Note:
S = ruang (data) sample yang digunakan untuk
training
A = atribut
|Si| = jumlah sample untuk nilai V
|S| = jumlah seluruh sample data
Entropy(Si) = entropy untuk sample-sample yang
memiliki nilai i
Cont…
CONTOH SOAL 1 (Bermain Tenis Outdoor)
• Diketahui dataset SB:
Cont…
• Jawab:
• Langkah pertama adalah, kita temukan dulu
nilai Entropy (total) dengan cara:
• Entropy (S) = (- 10/14 * log2 (10/14)) + (- 4/14 *
log2 (4/14))
• Note: 10 = jumlah kasus atribut “main” bernilai
“ya”, 14 = grand total kasus, dan 4 = jumlah
kasus atribut “main” bernilai “tidak”,
berdasarkan pada tabel di atas
• Formula => log2 (number) = ln (number) / ln (2)
• Entropy (S) = (-0.71428 * -0.48542) + (-0.28571
* -1.80735)
Cont…
• Entropy (S) = (0.34672) + (0.51637)
• Entropy (S) = 0.86309
Total Kasus Sum (Ya) Sum (Tidak) Entropy (S) / Total
14 10 4 0.86309
Berawan 4 4 0 0
Hujan 5 4 1 0.72192
0.25850
Suhu Panas 4 2 2 1
Sejuk 6 4 2 0.91829
Dingin 4 4 0 0
0.18382
Normal 7 7 0 0
0.37048
Cont…
• Hasil Perhitungan Entropy & Gain Tiap Atribut
Node Atribut Nilai Sum Sum Sum Entropy Gain
(nilai) (ya) (tidak)
1 Berangin Salah 8 6 2 0.81127
Benar 6 4 2 0.91829
0.00595
Kelembaban
Tinggi Normal
? Ya
• Gain(S,Berangin) = Entropy(SKelembaban:tinggi)
– (4/7 * Entropy (SSalah)) – (3/7 * Entropy
(SBenar))
• = 0.98522 – (4/7 * 1) – (3/7 * 0.91829)
• = 0.02023
Cont…
• G
Node Atribut Nilai Sum Sum Sum Entropy Gain
(nilai) (ya) (tidak)
1.1 Cuaca Cerah 3 0 3 0
Berawan 2 2 0 0
Hujan 2 1 1 1
0.69950
Sejuk 4 2 2 1
0.02023
Berangin Salah 4 2 2 1
Benar 3 1 2 0.91829
0.02023
Cont…
• Prediksi DT untuk kasus “bermain tenis outdoor
(part 2)”
Kelembaban
Tinggi Normal
? Ya
Cuaca
Cerah Hujan
Berawan
Tidak Ya ?
Berangin Salah 1 1 0 0
Benar 1 0 1 0
1
Cont… Kelembaban
untuk kasus ? Ya
“bermain tenis
Cuaca
outdoor
Cerah Hujan
(part 3 -> Final)” Berawan
Tidak Ya ?
Berangin
Salah Benar
Ya Tidak
d4 d14
=> [1+, 0-] => [0+, 1-]
Cont…
• Algoritma C.45
Algoritma yang membentuk DT dan merupakan
perkembangan dari ID3
Untuk membentuk DT diperlukan sekumpulan
data (record) yang memiliki struktur sama
Tiap record berisikan sejumlah atribut dan
target atribut
Nilai atribut bersifat discrete / continuous
Cont…
Untuk membangun pohon keputusan
menggunakan C.45, point utama yang harus
diperhatikan adalah memilih atribut sebagai
akar
Selanjutnya, dibuat cabang untuk tiap-tiap nilai
di dalam akar tersebut
Kemudian, membagi kasus dalam cabang
Berikutnya, ulangi proses untuk setiap cabang
sampai semua kasus pada cabang memiliki
kelas yang sama
Untuk memilih atribut dengan akar, didasarkan
pada nilai gain tertinggi dari atribut-atribut yang
ada
Cont…
Untuk menghitung gain digunakan rumus sb:
Note:
S: Himpunan kasus
A: Atribut
N: jumlah partisi atribut A,
|Si|: jumlah kasus pada partisi ke-i
|S|: jumlah kasus dalam S
Note:
• S: himpunan kasus
• A: atribut
Cont…
• N: jumlah partisi S
• Pi: proporsi dari Si terhadap S
Cont…
CONTOH SOAL 1 (Bermain Tenis Outdoor)
• Diketahui dataset SB:
Cont…
Jawab:
Menghitung jumlah kasus, jumlah kasus untuk
keputusan “yes”, jumlah kasus untuk keputusan
“no”, dan entropy dari semua kasus dan kasus
yang dibagi berdasarkan atribut “outlook”,
“temperature”, “humidity”, dan “windy”
Setelah itu, lakukan perhitungan Gain untuk
masing-masing atribut
Hasil perhitungan ditunjukkan pada tabel
berikut:
Cont…
S No (S1) Yes Entropy GAIN
(S2)
Total 14 4 10 0.86309
Outlook 0.25850
Sunny 5 3 2 0.970944
Cloudy 4 0 4 0
Rainy 5 1 4 0.72192
Temperature 0.18382
Hot 4 2 2 1
Mild 6 2 4 0.91829
Cool 4 0 4 0
Cont…
S No (S1) Yes Entropy GAIN
(S2)
Humidity 0.37048
High 7 4 3 0.98522
Normal 7 0 7 0
Windy 0.00595
False 8 2 6 0.81127
True 6 2 4 0.91829
High Normal
??? Yes
Cont…
Hasil Pohon Keputusan
S No
(S )
part-1:
Yes
(S ) 1
Entropy
2
GAIN
Outlook 0.69950
Sunny 3 3 0 0
Cloudy 2 0 2 0
Rainy 2 1 1 1
Temperature 0.02023
Hot 3 2 1 0.91829
Mild 4 2 2 1
Cont…
Hasil Pohon Keputusan
S No
(S )
part-1:
Yes
(S )
1
Entropy
2
GAIN
Windy 0.02023
False 4 2 2 1
True 3 2 1 0.91829
High Normal
Outlook Yes
Sunny Rainy
Cloudy
No Yes ???
Cont…
Hasil Pohon Keputusan
S No
(S )
part-1:
Yes
(S )
Entropy
1 2
GAIN
Mild 2 1 1 1
Windy 1
False 1 0 1 0
True 1 1 0 0
High Normal
Outlook Yes
Sunny Rainy
Cloudy
No Yes Windy
False True
Yes No
LATIHAN – ID3 & C.45
Rancanglah pohon keputusan dari kasus berikut
dengan menggunakan algoritma ID3 & C.45.
Nama Usia Jenis Kelamin Hipertensi
Muda 4 0 4 0
0.31127
0.20442
USIA
TUA MUDA
? TIDAK
d1,d2,d6,d7, [2+, 2-] d3,d4,d5,d8, [0+, 4-]
USIA
TUA MUDA
Ya Tidak
d1,d2 [2+, 0-] d6,d7 [0+, 2-]
d1 = Afgan
d2 = …..
d3 = ……
…
…
…
C.45
S No (S1) Yes Entropy GAIN
(S2)
Total 8 6 2 0.81127
USIA 0.31127
Tua 4 2 2 1
Muda 4 4 0 0
Jenis_Kelamin 0.20442
Laki 5 3 2 0.97095
Perempuan 3 3 0 0
C.45
USIA
TUA MUDA
? TIDAK
C.45
S No Yes Entropy GAIN
(S1) (S2)
Usia:Tua 4 2 2 1
Jenis Kelamin 1
Laki 2 0 2 0
Perempuan 2 2 0 0
USIA
TUA MUDA
Laki Perempuan
Ya Tidak