Decision Tree
Decision Tree
Temperature
Hot Cool
Yes
Humidity
Wet Dry
No Yes
Contoh Kasus Penerimaan
Pegawai
Terdapat 11 pelamar kerja dg 3 parameter penilaian : IPK,
hasil tes psikologi, hasil tes wawancara
IPK dikelompokkan dlm 3 kategori (Bagus, Cukup, Kurang)
Hasil tes psikologi dikelompokkan dlm 3 kategori (Tinggi,
Sedang, Rendah)
Hasil tes wawancara dikelompokkan dlm 2 kategori (Baik,
Buruk)
Untuk data yang lengkap, seharusnya terdapat 3x3x2 = 18
kombinasi sample data
Untuk lebih jelasnya, lihat table berikut :
Contoh Kasus Penerimaan
Pegawai
Pelamar IPK Psikologi Wawancara Diterima
P1 Bagus Tinggi Baik Ya
P2 Bagus Sedang Baik Ya
P3 Bagus Sedang Buruk Ya
P4 Bagus Rendah Buruk Tidak
P5 Cukup Tinggi Baik Ya
P6 Cukup Sedang Baik Ya
P7 Cukup Sedang Buruk Ya
P8 Cukup Rendah Buruk Tidak
P9 Kurang Tinggi Baik Ya
P10 Kurang Sedang Buruk Tidak
P11 Kurang Rendah Baik Ya
Contoh Kasus Penerimaan
Pegawai
Dari table tersebut data yang tersedia hanya 11
sample data. Artinya informasi aturannya tidak
lengkap.
Bagaimana jika ada pelamar yang memiliki data
ASSISTANT
C4.5
Decision Tree Learning
Decision Tree Learning akan berusaha membangun
pohon keputusan secara top-down, mulai dg
pertanyaan :
Atribut mana yang pertama kali harus dicek dan
diletakkan pada root ?
Untuk menentukannya, diperlukan suatu ukuran
statistik yaitu Entropy dan Information Gain
Entropy
Entropy adalah suatu parameter untuk mengukur
heterogenitas (keberagaman) suatu kumpulan data
Rumusnya :
c
Entropy(S) i - pi log2 pi
Misal untuk menghitung entropy atribut ‘Diterima’ :
Entropy(S) = - (8/11)log2 (8/11) - (3/11)log2 (3/11)
= 0,8454
Information Gain
Setelah mendapatkan nilai Entropy dari suatu atribut,
maka kita dapat mengukur efektifitas suatu atribut
dalam mengklasifikasikan data ( Information Gain )
Rumus :
|Sv|
Gain (S,A) Entropy (S) - vValues(A) |S| Entropy(Sv)
Information Gain
Contoh penghitungan information gain untuk IPK :
Misalkan atribut Diterima = ‘Ya’ dikatakan sebagai sampel positif ( + ), dan ‘Tidak’
dikatakan sebagai sampel negatif ( - ). Maka :
S = [ 8+, 3- ], |S| = 11 3 3 1 1
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 ( 𝑆 𝑏𝑎𝑔𝑢𝑠 )=− 4 𝑙𝑜𝑔 ( 4 )− 4 𝑙𝑜𝑔 ( 4 )=0.8113
2 2
SBagus = [3+, 1-], |SBagus| = 4
SCukup = [3+, 1-], |SCukup| = 4 3 3 1 1
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 ( 𝑆 𝑐𝑢𝑘𝑢𝑝 )=− 4 𝑙𝑜𝑔 ( 4 )− 4 𝑙𝑜𝑔 ( 4 )=0.8113
2 2
SKurang = [2+, 1-], |SKurang| = 3
2 2 1 1
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 ( 𝑆 𝑘𝑢𝑟𝑎𝑛𝑔 )=− 3 𝑙𝑜𝑔 ( 3 ) − 4 𝑙𝑜𝑔 ( 3 )=0. 9 1 8 3
2 2
Gain (S,IPK) = Entropy (S) – (4/11) Entropy (SBagus) – (4/11) Entropy (SCukup) –
(3/11) Entropy (SKurang)
= 0.8454 – (4/11)0.8113 – (4/11)0.8113 – (3/11)0.9183
= 0.0049
Algoritma ID3
ID3 adalah algoritma paling dasar dalam decision
tree learning. Algoritma ini melakukan pencarian
secara rakus/menyeluruh (greedy) pd semua
kemungkinan tree.
Contoh Kasus Penerimaan
Pegawai
Pelamar IPK Psikologi Wawancara Diterima
P1 Bagus Tinggi Baik Ya
P2 Bagus Sedang Baik Ya
P3 Bagus Sedang Buruk Ya
P4 Bagus Rendah Buruk Tidak
P5 Cukup Tinggi Baik Ya
P6 Cukup Sedang Baik Ya
P7 Cukup Sedang Buruk Ya
P8 Cukup Rendah Buruk Tidak
P9 Kurang Tinggi Baik Ya
P10 Kurang Sedang Buruk Tidak
P11 Kurang Rendah Baik Ya
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3
Langkah 1
Pada tahap ini, harus ditentukan dulu atribut root.
Kandidatnya ada 3, yaitu IPK, Psikologi atau Wawancara
Kandidat yg terpilih adalah yang memiliki Information Gain paling besar
Setelah dilakukan penghitungan, didapatkan Information Gain untuk tiap
atribut adalah :
Gain (S, IPK) = 0.0049
Gain (S, Psikologi) = 0.2668
Gain (S, Wawancara) = 0.4040
Karena Information Gain dari atribut ‘Wawancara’ memiliki nilai paling besar,
maka atribut ini dipilih sebagai root
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3
Langkah 1
Wawancara
Baik Buruk
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3
Langkah 2
Pada tahap ini, dilakukan pengecekan
terhadap semua nilai pada atribut root, yaitu
‘Baik’ dan ‘Buruk’
Dimulai dari ‘Baik’ terlebih dahulu
Karena di table, nilai ‘Baik’ memiliki 6
sample, berarti nilai ‘Baik’ tidak kosong
SampleBaik = [6+, 0-]
Karena semua sample menyatakan ‘Ya’,
maka nilai yg dikembalikan untuk nilai
‘Baik’ hanya nilai ‘Ya’, maka di bawah edge
‘Baik’ adalah leaf ‘Ya’
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3
Langkah 2
Wawancara
Baik Buruk
Ya
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3
Langkah 2
Berikutnya, kita cek record (sample) yang
fitur wawancaranya ‘Buruk’
Karena di table, nilai ‘Buruk’ memiliki 5
sample, berarti nilai ‘Buruk’ tidak kosong
SampleBuruk = [2+, 3-]
Karena ada sample yang memiliki class ‘Ya’,
dan ada yang ‘Tidak’, maka di bawah edge
‘Buruk’ bukan leaf, melainkan node baru
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3
Langkah 2
Wawancara
Baik Buruk
Ya
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3
Langkah 3
Pada tahap ini, sebenarnya hanya merupakan pengulangan dari langkah 1, hanya
sample yang diamati hanya yang nilai wawancaranya ‘Buruk’ saja
Karena ‘wawancara’ sudah digunakan sebagai root, maka yang dihitung nilai
information gain nya di tahap ini hanya ‘IPK’ dan ‘Psikologi’ saja
IPK
Values (IPK) = Bagus, Cukup, Kurang
S = SampleBuruk = [ 2+, 3- ], |S| = 5
SBagus = [ 1+, 1- ], | SBagus | = 2
SCukup = [ 1+, 1- ], | SCukup | = 2
SKurang = [ 0+, 1- ], | SKurang | = 1
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3
IPK 2 2 3 3
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 ( 𝑆 ) =− ()
𝑙𝑜𝑔 2 − 𝑙𝑜𝑔2 ()
=0. 9710
Values (IPK) = Bagus, Cukup, Kurang 5 5 5 5
S = SampleBuruk = [ 2+, 3- ], |S| = 5 1 1 1 1
SBagus = [ 1+, 1- ], | SBagus | = 2
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 ( 𝑆 𝑏𝑎𝑔𝑢𝑠 )=− 2
𝑙𝑜𝑔2 ( )
2
− 𝑙𝑜𝑔 2
2 2 ( )
=1
2 2 1
𝐺𝑎𝑖𝑛 ( 𝑆 , 𝐼𝑃𝐾 ) =𝐸𝑛𝑡𝑟𝑜𝑝𝑦 ( 𝑆 ) −
5
𝐸𝑛𝑡𝑟𝑜𝑝𝑦 ( 𝑆 𝐵𝑎𝑔𝑢𝑠 ) − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 ( 𝑆𝐶𝑢𝑘𝑢𝑝 ) − 𝐸𝑛𝑡𝑟𝑜𝑝𝑦 ( 𝑆 𝐾𝑢𝑟𝑎𝑛𝑔 )
5 5
2 2 1
¿ 0.9710 − (1)− (1)− (0)
5 5 5
¿ 𝟎 .𝟏𝟕𝟏𝟎
Karena Psikologi punya nilai Gain lebih
Psikologi
besar, maka psikologi dipilih simpul
𝐺𝑎𝑖𝑛
( 𝑆 , 𝑃𝑠𝑖𝑘𝑜𝑙𝑜𝑔𝑖 ) =𝟎 . 𝟒𝟐𝟏𝟎 berikutnya
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3
Langkah 3
Wawancara
Baik Buruk
Ya
Psikologi
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3
Baik Buruk
Ya Psikologi
Ya Ya Tidak
Penyelesaian Kasus Penerimaan Pegawai
Menggunakan ID3