Slide_DM_06_1_Pohon_Keputusan

Download Report

Transcript Slide_DM_06_1_Pohon_Keputusan

Pohon Keputusan
(Decision Tree)
Overview
• Sbg gambaran/studi kasus:
– Dari 1.954 calon mhs yg diterima di PTS XYZ pada
2009-2010, 498 calon mhs mengundurkan diri.
– Hal tsb, artinya 25,5 % calon mhs yg mungkin
potensial tdk mampu dipertahankan
– Salah satu cara utk melakukan analisis kemungkinan
pengunduran diri seorang calon mhs baru adalah
dengan melakukan klasifikasi dari kumpulan data
calon mahasiswa yg ada.
• Salah satu model klasifikasi  Pohon keputusan
Pohon Keputusan (Algoritma C4.5)
• Merupakan metode klasifikasi dan prediksi yg
sangat kuat dan terkenal
• Metodenya  mengubah fakta yg sangat
besar menjadi pohon keputusan yg
mempresentasikan aturan.
• Aturan tsb dpt dgn mudah dipahami dgn
bahasa alami.
• Dpt pula diekspresikan dlm bentuk bhs basis
data SQL utk mencari record pada kategori
tertentu.
Pohon Keputusan (Algoritma C4.5)
• Pohon keputusan juga berguna utk:
– Mengeksplorasi data.
– Menemukan hubungan tersembunyi antara
sejumlah calon variabel input dengan sebuah
variabel target.
• Sangat bagus sbg langkah awal dlm proses
pemodelan bahkan ketika dijadikan sbg model
akhir dari bbrp teknik lainnya.
Pohon Keputusan (Algoritma C4.5)
• Sebuah model pohon keputusan terdiri dari
sekumpulan aturan utk membagi sejumlah
populasi yg heterogen menjadi lebih kecil,
lebih homogen dgn memperhatikan pada
variabel tujuannya.
• Data pada pohon keputusan biasanya
dinyatakan dalam bentuk tabel dengan atribut
dan record
• Atribut menyatakan suatu parameter yg
dibuat sbg kriteria dlm membentuk pohon
Pohon Keputusan (Algoritma C4.5)
Contoh:
• Untuk menentukan bermain tenis atau tdk, kriteria yg
diperlukan meliputi:
–
–
–
–
Cuaca
Angin
Kelembaban
Temperatur udara
• Salah satu atribut merupakan data solusi per item data
yg disebut target atribut  misalnya atribut “play” dgn
nilai “main” atau “tidk main”
• Atribut memiliki nilai2 yg dinamakan “instance”
• Misalkan atribut “Cuaca” memiliki instance  cerah,
berawan, dan hujan.
Contoh Algoritma C4.5
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Outlook
Sunny
Sunny
Cloudy
Rainy
Rainy
Rainy
Cloudy
Sunny
Sunny
Rainy
Sunny
Cloudy
Cloudy
Rainy
Temperature
Hot
Hot
Hot
Mild
Cool
Cool
Cool
Mild
Cool
Mild
Mild
Mild
Hot
Mild
Humidity
High
High
High
High
Normal
Normal
Normal
High
Normal
Normal
Normal
High
Normal
High
Windy
FALSE
TRUE
FALSE
FALSE
FALSE
TRUE
TRUE
FALSE
FALSE
FALSE
TRUE
TRUE
FALSE
TRUE
Play
No
No
Yes
Yes
Yes
Yes
Yes
No
Yes
Yes
Yes
Yes
Yes
No
Contoh
• Bdsrk tabel diatas akan dibuat tabel keputusan
utk menentukan main tenis atau tidak dgn
melihat keadaan Outlook (cuaca), Temperatur,
Humidity (kelembaban), dan windy (keadaan
angin).
• Algoritma scr umum:
–
–
–
–
Pilih atribut sbg akar
Buat cabang utk tiap2 nilai
Bagi kasus dalam cabang
Ulangi proses utk setiap cabang sampai semua kasus
pada cabang memiliki kelas yg sama
• Memilih atribut berdasarkan nilai “gain” tertinggi
dari atribut2 yg ada.
Perhitungan Gain
n
Gain (S,A) = Entropy (S) - ∑
i=1
• Keterangan:
–
–
–
–
–
S : himpunan
A : atribut
n : jumlah partisi atribut A
l Si l : jumlah kasus pada partisi ke-i
I S I : jumlah kasus dalam S
│ Si │
│S│
* Entropy (Si)
Menghitung nilai entropy
n
Entropy (S) =
∑ - pi * log2 pi
i=1
Keterangan:
S : himpunan kasus
A : fitur
n : jumlah partisi S
pi : proporsi dari Si terhadap S
Perincian algoritma ( langkah 1)
• Menghitung jumlah kasus seluruhnya, jumlah
berkeputusan “Yes” maupun “No”
• Menghitung Entropy dari semua kasus yg
terbagi berdasarkan atribut “Outlook”,
“Temperature”, “Humidity”, “Windy”
• Lakukan penghitungan Gain utk setiap
atributnya
Perhitungan
Jumlah
Kasus (S)
14
Node
1
TOTAL
Tidak (S1)
Ya (S2)
Entropy
4
10
0,863120569
Gain
0,258521037
OUTLOOK
CLOUDY
4
0
4
0
RAINY
5
1
4
0,721928095
SUNNY
5
3
2
0,970950594
0,183850925
TEMPERATURE
COOL
4
0
4
0
HOT
4
2
2
1
MILD
6
2
4
0,918295834
0,370506501
HUMIDITY
HIGH
7
4
3
0,985228136
NORMAL
7
0
7
0
0,005977711
WINDY
FALSE
8
2
6
0,811278124
TRUE
6
2
4
0,918295834
Perhitungan Total Entropy
Jumlah
Kasus (S)
14
Node
1
TOTAL
...
...
...
...
Tidak (S1)
Ya (S2)
Entropy
4
10
0,863120569
...
...
...
Gain
...
n
Entropy (S) =
∑ - pi * log2 pi
i=1
Entropy (Total) = - 4/14 * log2 (4/14)) +
- 10/14 * log2 (10/14))
= 0,863120569
Menghitung gain pada baris “Outlook”
Gain (Total, Outlook)
n
│ Outlooki │
= Entropy(Total) - ∑
* Entropy(Outlooki)
│ Total │
i=1
= 0,863120569 – ((4/14*0)+(5/14*0,72)+(5/14*0,97))
= 0,258521037
Lakukan Hitung Gain utk temperature,
humidity dan windy
• Spt yg terlihat pd tabel, diperoleh bhw atribut
dgn Gain tertinggi adalah Humidity  0,37
• Maka Humidity menjadi node akar
• Humidity memiliki dua nilai yaitu “High” dan
“Normal”
• Humidity  “Normal” sdh mengklasifikasikan
kasus menjadi 1 yaitu keputusannya “yes”
• Utk humidity  “High” msh perlu dilakukan
perhitungn lagi (krn msh terdpt “yes” dan “no”)
Pohon keputusan node 1
Humidity
HIGH
1.1
?
NORMAL
YES
Perincian algoritma (Langkah 2)
• Pilih node akar “High” dan
hitung:
–
–
–
–
Jumlah kasus
Jumlah kasus keputusan “Yes”
Jumlah kasus keputusan “No”
Entropy
Atribut:
•Outlook
•Temperature
•Windy
Hasil perhitungan (Langkah 2)
Node
1.1
HUMIDITY HIGH
Jumlah
Kasus (S)
Tidak
(S1)
Ya
(S2)
Entropy
7
4
3
0,985228136
OUTLOOK
Gain
0,69951385
CLOUDY
2
0
2
0
RAINY
2
1
1
1
SUNNY
3
3
0
0
TEMPERATURE
0,020244207
COOL
0
0
0
0
HOT
3
2
1
1
MILD
4
2
2
2
WINDY
0,020244207
FALSE
4
2
2
1
TRUE
3
2
1
0,918295834
Hasil perhitungan (Langkah 2)
• Didapat Gain tertinggi  outlook  0,69
• Maka “Outlook” menjadi node cabang dari atribut
humidity yg bernilai “High”
• Berdasarkan atribut “Outlook” terdpt 3 nilai
– Cloudy
– Rainy
– Sunny
• Krn “Cloudy” pasti bernilai “Yes” dan “Sunny” pasti
bernilai “No”, maka tdk perlu dilakukan perhitungan
lagi
• Sedangkan “Rainy” bernilai “yes” dan “No”, maka
masih perlu dilakukan perhitungan lagi
Pohon keputusan node 1.1
Humidity
NORMAL
HIGH
1.1
Outlook
Cloudy
YES
Rainy
1.1
?
YES
Sunny
NO
Perincian algoritma (Langkah 3)
• Pilih node akar “Rainy” dan
hitung:
–
–
–
–
Jumlah kasus
Jumlah kasus keputusan “Yes”
Jumlah kasus keputusan “No”
Entropy
Atribut:
•Temperature
•Windy
Hasil perhitungan (Langkah 3)
Node
1.1
HUMIDITY
“HIGH” dan
OUTLOOK
“RAINY”
Jumlah
Kasus (S)
Tidak
(S1)
Ya
(S2)
Entropy
2
1
1
1
Gain
0
TEMPERATURE
COOL
HOT
MILD
0
0
2
0
0
1
0
0
1
0
0
1
1
WINDY
FALSE
TRUE
1
1
0
1
1
0
0
0
Hasil perhitungan (Langkah 3)
• Didapat Gain tertinggi  Windy  1
• Maka “Windy” menjadi node cabang dari atribut
humidity yg bernilai “High” dan outlook yg
bernilai “Rainy”
• Berdasarkan atribut “Windy” terdpt 2 nilai
– True
– False
• Krn “True” sdh terklasifikasi pasti bernilai “No”
dan “False” pasti bernilai “Yes”, maka tdk perlu
dilakukan perhitungan lagi
Pohon keputusan node 1.1.2
Humidity
HIGH
NORMAL
1.1
Outlook
Cloudy
YES
Rainy
Sunny
1.1.2
Windy
YES
False
YES
NO
True
NO
Hasil perhitungan (Langkah 3)
• Berdasarkan node 1.1.2, maka:
“Semua kasus sdh masuk dpt kelas”
• Sehingga pohon keputusan diatas merupakan
pohon keputusan terakhir yang terbentuk
Macam Algoritma Decison tree
Selain Algoritma C4.5, terdapat:
• ID3  merupakan pengembangan C4.5
• CART
Selesai