Paper Decision Tree
Paper Decision Tree
Latar Belakang
Konsep pohon merupakan salah satu konsep teori graf yang paling penting.
Pemanfaatan struktur pohon dalam kehidupan sehari-hari adalah untuk menggambarkan
hierarki dan memodelkan persoalan, contohnya pohon keputusan (decision tree). Iterative
dichotomiser 3 ( ID3 ) merupakan suatu metode dalam learning yang akan membangun
sebuah pohon keputusan untuk pemodelan dalam mencari solusi dari persoalan.1
Algoritma dasar untuk induksi pohon keputusan adalah algoritma greedy yang
membangun pohon keputusan dari atas ke bawah (top-down) secara rekursif dengan cara
divide dan conquer. Masukan dari algoritma ini adalah himpunan data yang berisi sampelsampel data dan kandidat atribut yang harus ditelaah, terdiri dari minimal sebuah atribut
prediktor dan sebuah atribut kelas. Atribut prediktor dapat bertipe diskret atau numerik,
sedangkan atribut kelas harus bertipe diskret. Dalam terminologi basisdata, himpunan data
ini berupa tabel, sedangkan sampel adalah rekord. Himpunan data ini dapat memiliki atribut
(kolom tabel) bertipe diskret maupun kontinyu.2
B. Tujuan
Tujuan dari algoritma Induction Decision Tree adalah mengkonstruksi struktur data
pohon (dinamakan pohon keputusan) yang dapat digunakan untuk memprediksi kelas dari
sebuah kasus atau rekord baru yang belum memiliki kelas. Mengkonstruksi pohon
keputusan bisa dengan strategi divide dan conquer. Algoritma ini memilih pemecahan kasuskasus yang terbaik dengan menghitung dan membandingkan gain ratio, kemudian pada
node-node yang terbentuk di level berikutnya, algoritma divide dan conquer akan diterapkan
lagi .
(1)(2)
Wahyuddin, 2009. Metode Iterative Dichotomizer 3 ( ID3 ) Untuk Penyeleksian Penerimaan Mahasiswa Baru
C. Pembahasan
DECISION TREE
Decision tree learning adalah salah satu metode belajar yang sangat populer dan
banyak digunakan secara praktis. Metode ini merupakan metode yang berusaha
menemukan fungsi-fungsi pendekatan yang bernilai diskrit dan tahan terhadap data-data
yang terdapat kesalahan (noisy data) serta mampu mempelajari ekspresi-ekspresi
disjunctive (ekspresi OR). Iterative Dychotomizer version 3 (ID3) adalah salah satu
jenis Decision tree yang sangat populer. Konsep Decision Tree Mengubah data menjadi
pohon keputusan (decision tree) dan aturan-aturan keputusan (rule).3
Data
Decision Tree
Rule
Decision tree adalah struktur flowcart yang mempunyai tree(pohon), dimana setiap
simpul internal menandakan suatu tes atribut,setiap cabang merepresentasikan hasil tes,
dan simpul daun merepresentasikan kelas atau distribusi kelas. alur pada decision tree
ditelusuri dari simpul ke akar ke simpul daun yang memegang prediksi kelas untuk
Langkahlangkah tersebut diulangi hingga dahan-dahan dari tree memiliki contoh dari
satu kelas tertentu. Beberapa model decision tree yang sudah dikembangkan antara lain
adalah IDS, ID3, C4.5, CHAID dan CART.4
3
Wahyuddin, 2009. Metode Iterative Dichotomizer 3 ( ID3 ) Untuk Penyeleksian Penerimaan Mahasiswa
Baru.
4
Defianty Sofi, 2008. Perbandingan Kinerja Algoritma ID3 dan C4.5 Dalam Klasifikasi Spam-Mail.
Pohon merupakan sebuah graf terhubung yang tidak mengandung sirkuit. Konsep
pohon (tree) dalam teori graf merupakan konsep yang sangat penting, karena terapannya
diberbagai bidang ilmu. Oleh karenanya antara pohon (tree) sangat erat hubungannya
dengan teori graf. Definisi pohon adalah graf tak berarah terhubung yang tidak
mengandung sirkuit,
Menurut definisi tersebut, ada dua sifat penting pada pohon yaitu terhubung dan
tidak mengandung sirkuit. Pohon (tree) merupakan graf dimana dua simpul memiliki
paling banyak satu lintasan yang menghubungkannya. Pohon seringkali memiliki akar .
10
karena setiap simpul pada pohon hanya memiliki satu lintasan akses dari setiap simpul
lainnya, maka tidak mungkin bagi sebuah lintasan untuk membentuk simpul (loop) atau
siklus (cycle) yang secara berkesinambungan melalui serangkaian simpul.6
11
12
13
ALGORITMA ID3
Iterative Dichotomicer 3 (ID3) adalah algoritma decision tree learning (algoritma
pembelajaran pohon keputusan) yang paling dasar. Algoritma ini melakukan pencarian
secara rakus /menyeluruh (greedy) pada semua kemungkinan pohon keputusan. Salah
satu algoritma induksi pohon keputusan yaitu ID3 (Iterative Dichotomiser 3). ID3
dikembangkan oleh J. Ross Quinlan. Algoritma ID3 dapat diimplementasikan
menggunakan fungsi rekursif (fungsi yang memanggil dirinya sendiri). Algoritma ID3
14
berusaha membangun decision tree (pohon keputusan) secara top-down (dari atas ke
bawah), mulai dengan pertanyaan : atribut mana yang pertama kali harus dicek dan
diletakkan pada root? pertanyaan ini dijawab dengan mengevaluasi semua atribut yang
ada dengan menggunakan suatu ukuran statistic (yang banyak digunakan adalah
information gain) untuk mengukur efektivitas suatu atribut dalam mengklasifikasikan
kumpulan sampel data.
15
Decision Tree adalah sebuah struktur pohon, dimana setiap node pohon
merepresentasikan atribut yang telah diuji, setiap cabang merupakan suatu pembagian
hasil uji, dan node daun (leaf) merepresentasikan kelompok kelas tertentu. Level node
teratas dari sebuah decision tree adalah node akar (root) yang biasanya berupa atribut
yang paling memiliki pengaruh terbesar pada suatu kelas tertentu. Beberapa peneliti
menyebut struktur model yang dihasilkan ID3 sebagai pohon keputusan (decision tree)
sementara peneliti yang lain menyebutnya pohon aturan (rule tree). 7
7
Defianty Sofi, 2008. Perbandingan Kinerja Algoritma ID3 dan C4.5 Dalam Klasifikasi Spam-Mail.
16
Secara ringkas, langkah kerja Algoritma ID3 dapat digambarkan sebagai berikut:
1. Penghitungan Information Gain dari setiap atribut dengan menggunakan
Dimana
2. . Pemilihan atribut yang memiliki nilai information gain terbesar,
17
18
Ramalan_Cuaca
Suhu
Kelembaban
Angin
Bermain_Tenis
M1
Cerah
Panas
Tinggi
Lemah
Tidak
M2
Cerah
Panas
Tinggi
Kuat
Tidak
M3
Mendung
Panas
Tinggi
Lemah
Ya
M4
Hujan
Sejuk
Tinggi
Lemah
Ya
M5
Hujan
Dingi
Normal
Lemah
Ya
19
M6
Hujan
Dingi
Normal
Kuat
Tidak
Normal
Kuat
Ya
n
M7
Mendung
Dingi
n
20
M8
Cerah
Sejuk
Tinggi
Lemah
Tidak
M9
Cerah
Dingi
Normal
Lemah
Ya
21
M10
Hujan
Sejuk
Normal
Lemah
Ya
M11
Cerah
Sejuk
Normal
Kuat
Ya
M12
Mendung
Sejuk
Tinggi
Kuat
Ya
M13
Mendung
Panas
Normal
Lemah
Ya
M14
Hujan
Sejuk
Tinggi
Kuat
Tidak
Atribut Tujuan adalah Bermain Tenis yang memiliki value ya atau tidak.
Atribut adalah Ramalan_Cuaca, Suhu, Kelembaban, dan Angin.8
22
Sebuah obyek yang diklasifikasikan dalam pohon harus dites nilai entropinya.
Entropy adalah ukuran dari teori informasi yang dapat mengetahui karakteristik dari
impuryt ,dan homogenity dari kumpulan data. Dari nilai entropy tersebut kemudian
dihitung nilai information gain (IG) masing- masing atribut.
23
dimana:
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.
Dari rumus entropy diatas dapat disimpulkan bahwa definisi entropy (S) adalah
jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau -)
dari sejumlah data acak pada suatu ruang sampel S. Entropy bisa dikatakan sebagai
24
kebutuhan bit untuk menyatakan suatu kelas. Semakin kecil nilai entropy maka semakin
baik digunakan dalam mengekstraksi suatu kelas. Panjang kode untuk menyatakan
informasi secara optimal adalah log2p bits untuk messages yang mempunyai
probabilitas p. Sehingga jumlah bit yang diperkirakan untuk mengekstraksi S ke dalam
kelas adalah : - p+log2 p+ - p- log2 pInformation Gain
25
Setelah mendapat nilai entropy untuk suatu kumpulan data, maka kita dapat
mengukur efektivitas suatu atribut dalam mengklasifikasikan data. Ukuran efektifitas ini
disebut information gain. Secara matematis, infomation gain dari suatu atribut
A,dituliskan sebagai berikut :
Gain(S,A) = Entropy(S)
dimana :
A : atribut
26
Entropy(Sv),
27
Entropy
adalah
formula
untuk
menghitung
homogenitas
dari
sebuah
28
Entropy(S) =
pi =
Zi = contoh positif + contoh negatif
29
i 1
Zi
N
- pi log2 pi
N = jumlah data
Entropy([9+,5-]) = - (9/14) log2 (9/14)
30
= 0.4098 + 0.5305
= 0.94029
Catatan :
Entropy(S) = 0, jika semua contoh pada S berada dalam kelas yang sama.
Entropy(S) = 1, jika jumlah contoh positif dan jumlah contoh negatif dalam S adalah
sama.
31
<
contoh
negatif
Gain(S,A)
dari
atribut
sebuah
contoh S :
32
pada
koleksi
| Sv |
vValues( A ) | S |
Gain(S,A) = Entropy(S) -
Entropy(Sv)
33
= 0.04813
2. Values(Kelembaban)
STinggi
SNormal
Gain(S,Kelembaban)
= Tinggi, Normal
= [3+,4-]
= [6+,1-]
=Entropy(S)-(7/14)Entropy(STinggi)-(7/14)Entropy(SNormal)
= 0.94029 - (7/14)0.98523 - (7/14)0.59167
= 0.15184
34
3. Values(Suhu)
SPanas
SSejuk
SDingin
Gain(S,Suhu)
35
4. Values(Ramalan_Cuaca)
SCerah
SMendung
SHujan
36
Gain(S,Ramalan_Cuaca)
=Entropy(S)-(5/14)Entropy(SCerah)(4/14)Entropy(SMendung) - (5/14)Entropy(SHujan)
= 0.94029 - (5/14)0.97075 - (4/14)1.00000
(5/14)0.97075
= 0.24675
Jadi, information gain untuk 3 atribut yang ada adalah :
37
Gain(S,Angin) = 0.04813
Gain(S,Kelembaban) = 0.15184
Gain(S,Suhu) = 0.02922
Gain(S,Ramalan_Cuaca) = 0.24675
Tampak bahwa attribute Ramalan_Cuaca akan menyediakan prediksi terbaik
38
Kuat
Normal
Tinggi
Lemah
Tidak
Ya
(8)(9)(10)
Manongga, Danny (2005). Teori&Aplikasi Iterative Dichotomizer Three dalam Pembelajaran Mesin. Fakultas Teknologi
Informasi UKSW, Salatiga.
Ramalan_Cuaca
Cerah
Mendung
Hujan
?
Ya
39
40
Minggu
41
Ramalan_Cuaca
Suhu
Kelembaban
Angin
Bermain_Tenis
42
M1
Cerah
Panas
Tinggi
Lemah
Tidak
M2
Cerah
Panas
Tinggi
Kuat
Tidak
M8
Cerah
Sejuk
Tinggi
Lemah
Tidak
M9
Cerah
Dingin
Normal
Lemah
Ya
M11
Cerah
Sejuk
Normal
Kuat
Ya
1. Values(Suhu)
SPanas
= [0+,2-]
SSejuk
= [1+,1-]
SDingin
= [1+,0-]
Gain(SCerah,Suhu)
43
2. Values(Kelembaban)
STinggi
44
= Tinggi, Normal
= [0+,3-]
SNormal
= [2+,0-]
45
3. Values(Angin)
= Lemah, Kuat
SLemah
= [1+,2-]
SKuat
= [1+,1-]
Gain(SCerah,Angin)
46
= 0.01997
Ramalan_Cuaca
Mendung
Kelembaban
Tinggi
Ya
47
Tidak
[M9, M11]
[2+,0-]
Ya
48
49
50
Minggu
Ramalan_Cuaca
Suhu
Kelembaban
Angin
Bermain_Tenis
M4
Hujan
Sejuk
Tinggi
Lemah
Ya
M5
Hujan
Dingin
Normal
Lemah
Ya
M6
Hujan
Dingin
Normal
Kuat
Tidak
M10
Hujan
Sejuk
Normal
Lemah
Ya
M14
Hujan
Sejuk
Tinggi
Kuat
Tidak
1. Values(Suhu)
SSejuk
51
SDingin
= [1+,1-]
Gain(SHujan,Suhu)
52
2. Values(Kelembaban)
= Tinggi, Normal
STinggi
= [1+,1-]
SNormal
= [2+,1-]
53
= 0.01997
3. Values(Angin)
= Lemah, Kuat
SLemah
= [3+,0-]
SKuat
= [0+,2-]
54
55
Ramalan_Cuaca
Mendung
Hujan
Ya
Angin
Kelembaban
Tinggi
Ya
56
Tidak
[M9, M11]
[2+,0-]
Lemah
Ya
Kuat
Tidak
[M6, M14]
[0+,2-]
Algoritma :
57
58
59
Ramalan_Cuaca
Suhu
Kelembaban
Angin
Bermain_Tenis
Cerah
Panas
Tinggi
Kuat
Tidak
Cerah
Panas
Tinggi
Lemah
Tidak
Cerah
Panas
Normal
Kuat
Ya
Cerah
Panas
Normal
Lemah
Ya
Cerah
Sejuk
Tinggi
Kuat
Tidak
Cerah
Sejuk
Tinggi
Lemah
Tidak
Cerah
Sejuk
Normal
Kuat
Ya
Cerah
Sejuk
Normal
Lemah
Ya
Cerah
Dingin
Tinggi
Kuat
Tidak
Cerah
Dingin
Tinggi
Lemah
Tidak
Cerah
Dingin
Normal
Kuat
Ya
Cerah
Dingin
Normal
Lemah
Ya
Mendung
Panas
Tinggi
Kuat
Ya
Mendung
Panas
Tinggi
Lemah
Ya
Mendung
Panas
Normal
Kuat
Ya
Mendung
Panas
Normal
Lemah
Ya
Mendung
Sejuk
Tinggi
Kuat
Ya
Mendung
Sejuk
Tinggi
Lemah
Ya
Mendung
Sejuk
Normal
Kuat
Ya
Mendung
Sejuk
Normal
Lemah
Ya
Mendung
Dingin
Tinggi
Kuat
Ya
Mendung
Dingin
Tinggi
Lemah
Ya
Mendung
Dingin
Normal
Kuat
Ya
Mendung
Dingin
Normal
Lemah
Ya
Hujan
Sejuk
Tinggi
Kuat
Tidak
Hujan
Sejuk
Tinggi
Lemah
Ya
Hujan
Sejuk
Normal
Kuat
Tidak
60 Hujan
Sejuk
Normal
Lemah
Ya
Hujan
Dingin
Tinggi
Kuat
Tidak
Hujan
Dingin
Tinggi
Lemah
Ya
Hujan
Dingin
Normal
Kuat
Tidak
Hujan
Dingin
Normal
Lemah
Ya
Flowchart :
Ramalan_Cuaca
Cerah
Ya
Kelembaban
Tinggi
Ya
61
Hujan
Mendung
Tidak
Angin
Lemah
Ya
Kuat
Tidak
62
63
2. Hanya satu atribut yang dapat dites dalam satu waktu untuk membuat keputusan.
3. Mengelompokkan data yang berkelanjutan mungkin terhitung mahal, sebanyak
pohon yang harus dibuat untuk melihat dimana menghentikan proses kelanjutannya.11
64
65
(11)
Manongga, Danny (2005). Teori&Aplikasi Iterative Dichotomizer Three dalam Pembelajaran Mesin. Fakultas Teknologi Informasi
UKSW, Salatiga.
66
67
68
sirkuit. Pohon (tree) merupakan graf dimana dua simpul memiliki paling banyak satu
lintasan yang menghubungkannya.
3. Mengapa Algoritma ID3 melakukan pencarian secara rakus dan meyeluruh?
Karena Algoritma ID3 berusaha membangun decision tree (pohon keputusan) secara
top-down (dari atas ke bawah)
4. Apakah tujuan dari penggunaan algoritma ID3?
Tujuan dari algoritma Induction Decision Tree adalah mengkonstruksi struktur data
pohon (dinamakan pohon keputusan) yang dapat digunakan untuk memprediksi kelas
69
dari sebuah kasus atau rekord baru yang belum memiliki kelas. Mengkonstruksi pohon
keputusan bisa dengan strategi divide dan conquer.
5. Bagaimana alur dari Decision Tree ?
Dari simpul ke akar ke simpul daun. Konsep datanya dinyatakan dalam bentuk tabel
dengan atribut / record.
70
71
Daftar pustaka
Defianty Sofi, 2008. Perbandingan Kinerja Algoritma ID3 dan C4.5 Dalam Klasifikasi SpamMail.
Manongga, Danny (2005). Teori&Aplikasi Iterative Dichotomizer Three dalam Pembelajaran
Mesin. Fakultas Teknologi Informasi UKSW, Salatiga.
Quinlan, J.R, 2007. Induction of Decision Trees
Wahyuddin, 2009. Metode Iterative Dichotomizer 3 ( ID3 ) Untuk Penyeleksian Penerimaan
72