Bab 6
Pnhnn Kcputusan (DccIsInn Trcc)
P0K0K AhA8AN:
KlasiIikasi dalam Data Mining
Konsep Decision Tree
Pembentukan Tree dalam Decision Tree
TUJUAN ELAJAR:
Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan :
Memahami klasiIikasi dalam Data Mining dan Decision Tree sebagai salah sat
algoritma klasiIikasi
Memahami konsep data dalam Decision Tree
Dapat membuat suatu Tree menggunakan metode ID3 dengan penghitungan
nilai entropy
.1. PR08E8 KLA8|F|KA8| 0ALAH 0ATA H|N|NC
KlasiIikasi adalah proses untuk menemukan model atau Iungsi 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, Iormula matematis atau neural
network. (Iko Pramudiono, Modul Pengantar Data Mining, www.ilmukomputer.com)
Proses klasiIikasi biasanya dibagi menjadi dua Iase : learning dan test. Pada Iase
learning, sebagian data yang telah diketahui kelas datanya diumpankan untuk
membentuk model perkiraan. Kemudian pada Iase test model yang sudah terbentuk diuji
A P0h0N KEPUTU8AN
37
dengan sebagian data lainnya untuk mengetahui akurasi dari model tsb. Bila akurasinya
mencukupi model ini dapat dipakai untuk prediksi kelas data yang belum diketahui.
KlasiIikasi dicirikan dengan data training mempunyai label, berdasarkan label
ini proses klasiIikasi memperoleh pola attribut dari suatu data.
Contoh berikut ini mengilustrasikan proses klasiIikasi dalam Data Mining :
Diketahui data set sebagai berikut :
X Y Kelas
0 0 1
0 1 1
1 0 2
1 1 2
Dari data set diatas, dapat divisualisasikan dalam bentuk graIik untuk klasiIikasi tiap
kelas yang ada :
Proses klasiIikasi dapat juga divisualisasikan dalam bentuk tree seperti yang
diilustrasikan berikut ini :
A P0h0N KEPUTU8AN
38
X Y Kelas
0 0 1
0 1 1
1 0 2
1 1 2
Dari dataset diatas, dapat dibuat tree sebagai berikut :
Contoh pembentukan tree yang lain :
X Y Z Kelas
0 0 0 2
0 0 1 2
0 1 0 1
0 1 1 1
1 0 0 2
1 0 1 2
1 1 0 2
1 1 1 2
A P0h0N KEPUTU8AN
39
Dari dataset sebelumnya, dapat dibuat tree sebagai berikut :
.2. K0N8EP 0E6|8|0N TREE
Pada dasarnya Decision Tree mengubah data menjadi pohon keputusan (decision
tree) dan aturan-aturan keputusan (rule)
Gambar 6.1. Konsep Decision Tree
Misal perlu dibuat aturan (rule) yang dapat digunakan untuk menentukan apakah
seseorang mempunyai potensi untuk menderita hipertensi atau tidak berdasarkan data
A P0h0N KEPUTU8AN
40
usia, berat badan dan jenis kelamin. Data tersebut dinyatakan dalam table berikut dan
diberi nama Data Set Hipertensi.
Tabel 6.1. Data Set 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
Dari Data Set hipertensi diatas, dapat dibentuk tree sebagai berikut :
A P0h0N KEPUTU8AN
41
Gambar 6.2. Tree untuk Data Set Hipertensi
.3. K0N8EP 0ATA 0ALAH 0E6|8|0N 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 atri but cuaca mempunyai instance berupa cerah,
berawan dan hujan.
A P0h0N KEPUTU8AN
42
Gambar 6.3. Konsep Data dalam Decision Tree
Untuk mengubah bentuk data (tabel) menjadi model tree. Dalam Modul ini
menggunakan algoritma ID3. Setelah diperoleh model berupa tree, maka tree ini bisa
kita konversikan ke dalam rule. Rule-rule yang didapat bisa disederhanakan dengan
menggunakan metode pruning.
Gambar 6.4. Dari Data Set (tabel) menjadi Tree
A P0h0N KEPUTU8AN
43
.4. PERh|TUNCAN N|LA| ENTR0P| UNTUK PEHENTUKAN TREE
Untuk mendapatkan tree dari Data Set yang ada, dipergunakan perhitungan nilai
entropy. Jika diketahui :
S adalah ruang (data) sample yang digunakan untuk training.
P adalah jumlah yang bersolusi positiI (mendukung) pada data sample untuk
kriteria tertentu.
P adalah jumlah yang bersolusi negatiI (tidak mendukung) pada data sample
untuk kriteria tertentu.
Besarnya Entropy pada ruang sample S dideIinisikan dengan:
Entropy(S) -p
log
2
p
- p
-
log
2
p
-
Gambar 6.5. Nilai Entropy
Nilai entropy dapat dideIinisikan sebagai berikut :
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 inIormasi secara optimal adalah -log
2
p bits
untuk messages yang mempunyai probabilitas p.
Sehingga jumlah bit yang diperkiraank untuk mengekstraksi S ke dalam kelas
adalah:
-p
+
log
2
p
+
- p
-
log
2
p
-
A P0h0N KEPUTU8AN
44
.5. 60NT0h PERHA8ALAhAN HENCCUNAKAN 0E6|8|0N TREE
Untuk mendapatkan gambaran yang jelas tentang proses pembentukan tree pada
Decision Tree dengan menggunakan algoritma ID3, berikut ini akan diberikan contoh
permasalahan untuk penentuan apakah seseoarang menderita penyakit hipertensi atau
tidak dengan 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.
Berikut data sample yang digunakan untuk menentukan hipertensi :
Tabel 6.2. Data Set Hipertensi
Nama Usia Berat Kelamin Hipertensi
Ali muda overweight pria ya
Edi muda underweight pria tidak
Annie muda average wanita tidak
Budi 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 yang digunakan untuk mengubah data menjadi tree :
Menentukan node yang terpilih
Menyusun tree
A P0h0N KEPUTU8AN
45
Untuk menentukan node terpilih, gunakan nilai Entropy dari setiap kriteria
dengan data sample yang ditentukan. Node terpilih adalah kriteria dengan Entropy yang
paling kecil.
Misal dihitung nilai entropy untuk atribut usia :
Usia Hipertensi 1umlah
muda Ya () 1
muda Tidak (-) 3
tua ya 2
tua tidak 2
Usia muda
Usia tua
Entropy untuk Usia:
Dengan cara yang sama, entropy untuk berat dan jenis kelamin didapatkan hasil
sebagai berikut :
Berat Hipertensi Jumlah
overweight ya 3
overweight tidak 1
average ya 0
average tidak 2
underweight ya 0
81 . 0
4
3
log
4
3
4
1
log
4
1
2 2 1
q
1
4
2
log
4
2
4
2
log
4
2
2 2 2
q
91 . 0 1
8
4
81 . 0
8
4
8
4
8
4
2 1
q q E
A P0h0N KEPUTU8AN
46
underweight tidak 2
Entropy 0.41
Kelamin Hipertensi Jumlah
pria ya 2
pria tidak 4
wanita ya 1
wanita tidak 1
Entropy 0.94
Dari daItar nilai entropy yang didapatkan oleh setiap atribut berikut ini, dipilih atribut
berat badan sebagai node awal karena memiliki nilai entropy yang paling kecil.
Atribut Nilai entropy
Usia 0.91
Berat badan 0.41
jenis kelamin 0.94
Kemudian disusun tree sebagai berikut :
A P0h0N KEPUTU8AN
47
LeaI Node berikutnya dapat dipilih pada bagian yang mempunyai nilai dan -,
pada contoh di atas hanya beratoverweight yang mempunyai nilai dan maka
semuanya pasti mempunya leaI node. Untuk menyusun leaI node lakukan satu-persatu.
Data training untuk beratoverweight, dihitung nilai entropy sebagai berikut :
Nama Usia Kelamin Hipertensi
Ali muda pria ya
Budiman tua pria tidak
Herman tua pria ya
Rina tua wanita ya
Usia Hipertensi Jumlah
muda ya 1
tidak 0
tua ya 2
tidak 1
Entropy 0,69
Kelamin Hipertensi Jumlah
pria ya 2
tidak 1
wanita ya 1
tidak 0
Entropy 0,69
A P0h0N KEPUTU8AN
48
LeaI Node Usia dan Jenis Kelamin memiliki Entropy yang sama, sehingga tidak
ada cara lain selain menggunakan pengetahuan pakar atau percaya saja pada hasil acak.
Dari perhitungan ini, dapat dikembangkan penyusunan tree sebagai berikut :
Dari leaI yang mengandung () dan (-) yang tersisa, dikembangkan lagi sehingga
didapatkan hasil tree akhir sebagai berikut :
A P0h0N KEPUTU8AN
49
Berdasarkan tree diatas yang dikembangkan dari table berikut, pada usiatua ternyata
ada 1 data menyatakan ya dan 1 data menyatakan tidak, keadaan ini perlu dicermati.
Pilihan hanya dapat ditentukan dengan campur tangan seoranng pakar.
Nama Usia Kelamin Hipertensi
Ali muda pria ya
Budiman tua pria tidak
Herman tua pria ya
Mengubah tree menjadi rule, didapatkan dengan cara seperti yang diilustrasikan
oleh gambar berikut :
A P0h0N KEPUTU8AN
50
Gambar 6.6. Mengubah Tree menjadi Rule
Sehingga untuk tree Hipertensi yang telah didapatkan sebelumnya, dapat diubah ke
dalam rule sebagai berikut :
R1: IF berataverage v beratunderweight THEN hipertensitidak
R2: IF beratoverweight ` kelaminwanita THEN hipertensiya
R3: IF beratoverweigt ` kelaminpria ` usiamuda THEN hipertensiya
R4: IF beratoverweigt ` kelaminpria ` usiatua THEN hipertensitidak
Terdapat dua operator dalam rule yaitu konjungsi (`) dan disjungsi (v).
Pembentukan rule dengan operator konjungsi dan disjungsi dapat diilustrasikan sebagai
berikut :
A P0h0N KEPUTU8AN
51
Gambar 6.7. Operator Konjungsi dan Disjungsi
Hasil prediksi pada Data Training dievaluasi dengan mencocokkan antara tree
yang didapatkan sebagai model terhadap hasil klasiIikasi yang terdapat dalam data set.
Dari dataset berikut, didapatkan 1 kesalahan dari 8 sampel data yang ada. Sehingga nilai
akurasinya dapat dihitung dari : 1 prosentase kesalahan 1 12.5 87.5.
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
A P0h0N KEPUTU8AN
52
LAT|hAN 80AL :
1) Buatlah tree dan rule untuk mendeteksi adanya gangguan pada jaringan komputer
menggunakan data berikut ini :
2) Buatlah tree dan rule untuk mendeteksi penyakit jantung menggunakan data berikut:
WAKTU PAKET FREKWEKSI PRIORITAS GANGGUAN
PANJANG KECL RENDAH TNGG GANGGUAN
PENDEK BESAR TNGG RENDAH GANGGUAN
PENDEK KECL TNGG TNGG NORMAL
PENDEK BESAR TNGG RENDAH GANGGUAN
PANJANG BESAR TNGG RENDAH GANGGUAN
PENDEK KECL TNGG TNGG GANGGUAN
PANJANG BESAR SEDANG RENDAH NORMAL
PENDEK KECL SEDANG TNGG GANGGUAN
PENDEK KECL TNGG TNGG GANGGUAN
PENDEK KECL RENDAH RENDAH NORMAL
PANJANG KECL SEDANG RENDAH NORMAL
PENDEK BESAR TNGG TNGG NORMAL
USIA KELAMIN MEROKOK OLAHRAGA JANTUNG
MUDA WANTA TDAK YA YA
MUDA PRA TDAK TDAK TDAK
MUDA PRA YA YA TDAK
MUDA PRA TDAK YA YA
MUDA WANTA YA TDAK YA
TUA PRA YA YA YA
MUDA PRA YA TDAK YA
MUDA PRA TDAK YA YA
TUA PRA TDAK YA TDAK
TUA PRA TDAK TDAK TDAK
TUA PRA YA TDAK TDAK
TUA WANTA YA TDAK TDAK
TUA PRA YA YA YA
TUA WANTA YA TDAK TDAK
MUDA PRA YA YA TDAK
A P0h0N KEPUTU8AN
53
3) Buatlah tree dan rule untuk mendeteksi apakah suatu warna itu obyek atau
background
RED GREEN BLUE CONTENT
RENDAH TNGG TUA BACKGROUND
RENDAH TUA RENDAH OBYEK
RENDAH TNGG TUA OBYEK
TNGG TNGG RENDAH OBYEK
TUA RENDAH RENDAH BACKGROUND
TNGG TNGG RENDAH BACKGROUND
RENDAH TUA TNGG OBYEK
TUA TUA TUA BACKGROUND
TNGG TNGG TNGG BACKGROUND
TNGG TUA RENDAH BACKGROUND
TNGG RENDAH TNGG OBYEK
TUA TNGG TNGG OBYEK
RENDAH TUA RENDAH BACKGROUND
RENDAH TUA TNGG BACKGROUND
TUA TNGG RENDAH OBYEK