Anda di halaman 1dari 13

PENGENALAN POLA

Decision Tree

Oleh :

Ni Made Krista Kurnia Dewi


1208605049

PROGRAM STUDI TEKNIK INFORMATIKA


JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS UDAYANA
2015
Secara umum algoritma C4.5 untuk membangun pohon keputusan adalah sebagai
berikut :
a. Pilih atribut sebagai akar
Pemilihan atribut sebagai akar didasarkan pada nilai gain terhigh dari atributatribut yang ada.
b. Buat cabang untuk masing-masing nilai
c. Bagi kasus dalam cabang

d. Ulangi proses untuk masing-masing cabang sampai semua kasus pada cabang
memiliki kelas yang sama.
Contoh :

Dalam kasus yang tertera pda table akan dibuat pohon keputusan untuk menentuka
main tenis atau tidak dengan melihat keadaan cuaca (outlook), suhu (temperature),
kelembapan (humidity), dan keadaan angin (windy).
1. 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 penghitungan Gain untuk masing masing atribut.

Hitung entropi dengan rumus :

Keterangan :
S : Himpunan (dataset) kasus, dimana koleksi S terdiri dari contoh
positif dan negatif
P(+) : proporsi dari contoh positif dalam S
P(-) : proporsi dari contoh negative dalam S

Jadi Entropi total adalah :


10
10
4
4

log
+

log
(
)
(
)
(
)
(
( 14 14 ) ( 14 14 ))=0.863120569

Entropi ( S )=

Kemudian lakukan analisis pada setiap atribut dan nilai-nilainya dan


hitung nilai entropinya.
Selain itu kita juga menghitung gain setiap atribut dengan rumus :
Si Entropi(Si)
S

Gain ( S , A ) =Entropi ( S )
i=1

Keterangan :
S
(dataset) kasus
A
k
atribut A
|Si|
pada partisi ke i
|S|
dalam S

: himpunan
: atribut
: jumlah partisi
: jumlah kasus
: jumlah kasus

Maka perhitungan entropi dan gain untuk setiap atributnya adalah


sebagai berikut :
a. OUTLOOK

2
5

Jumlah sunny untuk keputusan yes bermain tenis =

Jumlah sunny untuk keputusan no tidak bermain tenis =


Sunny , Entropy ( S )=

3
5

2
2 3
3 2
3
log 2 log 2 =
1,32 0,73 =0,528+ 0,438
5
5 5
5
5
5

)(

Jumlah cloudy untuk keputusan yes bermain tenis =

4
4

Jumlah cloudy untuk keputusan no tidak bermain tenis =


0
4
Cloudy , En tropy ( S ) =

4
4 0
4
log 2 log 2 =0+0=0
4
4 4
4

4
5

Jumlah rainy untuk keputusan yes bermain tenis =

Jumlah rainy untuk keputusan no tidak bermain tenis =


1
5
Rainy , Entropy ( S )=

4
4 1
1 4
1
log 2 log 2 =
0,32 2,32 =0,256+ 0,4
5
5 5
5
5
5

)(

Untuk total gain dari outlook adalah :

4
5
5
0+
0.721928095+
0.970950594 =0.25
14
14
14

(( ) ( )

Gain (Outlook )=0.863120569

b. HUMIDITY

3
7

Jumlah high untuk keputusan yes bermain tenis =

Jumlah high untuk keputusan no tidak bermain tennis =


High , Entropy ( S )=

( )

4
7

3
3 4
4
log 2 log 2 =(0,431,22 )( 0,570,80 ) =0,99
7
7 7
7
7
7

Jumlah normal untuk keputusan yes bermain tenis =

Jumlah normal untuk keputusan no tidak bermain tennis =


0
7

Normal , Entropy ( S )=

7
7 0
0
log 2 log 2 =0+0=0
7
7 7
7

Untuk total gain dari humidity adalah :


7
7
Gain ( Humidity )=0.863120569
0.985228136+
0 =0.370506501
14
14

(( )

( ) )

c. WIND

6
8

Jumlah false untuk keputusan yes bermain tenis =

Jumlah false untuk keputusan no tidak bermain tennis =


False, Entropy ( S ) =

6
6 2
2
log 2 log 2 =(0,750,415)(0,252)=0,81
8
8 8
8

Jumlah true untuk keputusan yes bermain tenis =

4
6

Jumlah true untuk keputusan no tidak bermain tennis =


True , Entropy ( S ) =

2
8

2
6

2
2 4
4
log 2 log 2 =(0,31,584)(0,670,585)=0,918
6
6 6
6

Maka gain total dari Wind adalah :


8
6
0.811278124+
0.918295834 =0.005977711
14
14

(( )

Gain (Wind )=0.863120569

d. TEMPERATURE

( )

Jumlah hot untuk keputusan yes bermain tenis =

2
4

Jumlah hot untuk keputusan no tidak bermain tennis =


Hot , Entropy ( S )=

2
4

2
2 2
2
log 2 log 2 =(0,51 ) ( 0,51 )=1
4
4 4
4
4
6

Jumlah mild untuk keputusan yes bermain tenis =

Jumlah mild untuk keputusan no tidak bermain tennis =

2
6

Mild , Entropy ( S )=

4
4 2
2
log 2 log 2 =(0,670,584 )( 0,331,584 )=0,3
6
6 6
6

4
4

Jumlah cool untuk keputusan yes bermain tenis =

Jumlah cool untuk keputusan no tidak bermain tennis =


Cool , Entropy ( S )=

0
4

4
4 0
0
log 2 log 2 =0
4
4 4
4

Maka untuk gain total dari temperature

4
4
6
0+
1+
0.918295834 =0.18385092
14
14
14

(( ) ( ) ( )

Gain (Temperature ) =0.863120569

Berikut ini ditampilkan dalam bentuk table :


Nod
e
1

Atribu
t

Outloo
k

Nilai
Cloudy

Sum(Ni Sum(
Sum(No
lai)
YES)
)
4
4
0

Rainy

Sunny

Entropi

Gain

0
0.7219
28095
0.9709
50594
0.28
5210
37

Tempe
rature

Humid
ity

Cool
Hot

4
4

4
2

0
2

Mild

0
1
0.9182
95834
0.18
3809
25

High
Norma
l

0.9852
28136

0
0.37
0506
501

Windy
False

True

0.8112
78124
0.9182
95834
0.00
5977

711

Karena nilai gain terbesar adalah gain (humidity), maka humidity


menjadi node akar (root node). Terdapat 2 nilai atribut Humidity yaitu
High dan Normal. Dari kedua nilai atribut tersebut, nilai atribut Normal
sudah mengklasifikasikan kasus menjadi 1 yaitu keputusannya Yes,
dengan demikian humidity normal menjadi daun atau leaf. Sehingga
tidak perlu lagi dilakukan perhitungan lebih lanjut. Tetapi untuk nilai
atribut High masih perlu dilakukan perhitungan lagi.
Pohon keputusan yang terbentuk pada tahap ini adalah sebagai beikut :

2. Berdasarkan pembentukkan pohon keputusan node 1 (root node), node 1.1 akan
dianalisis lebih lanjut. Untuk mempermudah maka pada table awal akan
diambil data yang memiliki humidity = high.
no

Outlook

temperat

Kelemabap

Windy

Main

1
2
3
4
5
6
7

Sunny
Sunny
Cloudy
Rainy
Sunny
Cloudy
Rainy

ure
Hot
Hot
Hot
Mild
Mild
Mild
Mild

an
High
High
High
High
High
High
High

False
True
False
False
False
True
True

No
No
Yes
Yes
No
Yes
No

Kemudian akan dianalisis lagi entropi dan gain dari atribut humidity high.
a. Humidity High

Jumlah yes =

3
7

Jumlah no =

4
7
3
3
4
4

log
+

log
(
)
(
)
(
)
(
( 7 7 ) ( 7 7 ))=0.985228136

Entropi ( Humidity )=
b. Outlook

Sunny , Entropy ( S )=

0
0 3
3
log 2 log 2 =0
3
3 3
3

Cloudy , Entropy ( S )=

2
2 0
0
log 2 log 2 =0
2
2 2
2

0,51
1
1 1
1
Rainy , Entropy ( S )=
log 2 log 2 =(0,51) ) = 1
2
2 2
2

Gain ( S , Outlook )=0,9852

( 730)+( 270)+( 271)=0,98520,2857=0,6995

c. Wind
False, Entropy ( S ) =

2
2 2
2
log 2 log 2 =(0,51 )( 0,51 )=1
4
4 4
4

True , Entropy ( S ) =

2
2 1
1
log 2 log 2 =(0,670,5849 )( 0,3331,5849 )=0,3918+
3
3 3
3

Gain ( S , Wind )=0,9852

d. Temperature

( 47 1)+( 370,919)=0,9852( 0,5714+0,3938 )=0,98520,965

Hot , Entropy ( S )=

1
1 2
2
log 2 log 2 = (0,331,584 ) ( 0,6670,5849 ) =0,5227+0
3
3 3
3

Mild , Entropy ( S )=

2
2 2
2
log 2 log 2 =(0,51 ) ( 0,51 )=1
4
4 4
3

Cool , Entropy ( S )=

0
0 0
0
log 2 log 2 =0
0
0 0
0

( 370,918 )+( 471)+( 07 0)=0,9852 ( 0,3934+0,571+0

Gain ( S , Temperature )=0,9852

Sehingga didapat hasil seperti pada table dibawah ini :


node

atribut

nilai

1.1

Outlook

cloudy
rainy
sunny

Sum(v
ar)
2
2
3

Sum(Ya)
2
1
0

Sum(Ti
d)
0
1
3

Entropi

Gain

0
1
0
0.699
5138
5

Temper
ature

cool
hot

0
3

0
1

0
2

mild

0
0.91829
5834
1
0.020
2442
07

Windy

False
True

4
3

2
2

2
1

1
0.91829
5834
0.020
2442
07

Berdasarkan hasil tersebut, gain terhigh adalah atribut Outlook. Maka


atribut Outlook dapat menjadi node cabang dari atribut humidity high.
Terdapat 3 nilai atribut dari Outlook yaitu cloudy, rainy, dan sunny. Dari
ketiga nilai atribut tersebut nilai atribut cloudy sudah mengklasifikasikan
kasus menjadi 1 yaitu keputusan Yes dan nilai atribut sunny sudah
mengklasifikasikan kasus menjadi satu dengan keputusan No. Sehingga

tidak perlu dilakukan perhitungan lebih lanjut, tetapi untuk nilai atribut
rainy masih perlu dilakukan perhitungan lagi.

Pohon keputusan yang terbentuk sampai saat ini adalah sebagai berikut :

3. Menghitung jumlah kasus, jumlah kasus untuk keputusan Yes, jumlah kasus
untuk keputusan No, dan entropi dari semua kasus dan kasus yang dibagi
berdasarkan atribut Temperature dan Windy yang dapat menjadi node cabang
dari nilai atribut Rainy. Setelah itu lakukan perhitungan gain untuk masingmasing atribut.
No
1
2

Outlook
Rainy
Rainy

Temperature
Mild
Mild

Humidity
High
High

Windy
False
True

Main
Yes
No

a. Humidity High , Outlook Rainy


1
1 1
1
Entropy ( Total )=
log 2 log 2 =(0,51 ) ( 0,50,1 )=0,5+0,5=1
2
2 2
2
b. Wind
-

False, Entropy ( S ) =

1
1 0
0
log 2 log 2 =0
1
1 1
1

True , Entropy ( S ) =

Gain ( S , Wind )=1

c. Temperature
Hot , Entropy ( S )=

node

( 120)+( 120)=1

0
0 0
0
log 2 log 2 =0
0
0 0
0

Mild , Entropy ( S )=

1
1 1
1
log 2 log 2 =(0,51 )( 0,51 )=1
2
2 2
2

Cool , Entropy ( S )=

0
0 0
0
log 2 log 2 =0
0
0 0
0

0
0 1
1
log 2 log 2 =0
1
1 1
1

Gain ( S , Temperature )=1

Atribut

Nilai

Humidity High & Rainy


1.1.2
Temperat Cool
Hot
ure
Mild

( 020)+( 221)+( 02 0)=11=0

Sum(Va

Sum(yes Sum(tid

Entropi Gain

r)
2
0
0
2

)
1
0
0
1

)
1
0
0
1

1
0
0
1

1
1

1
0

0
1

0
0

0
Windy

False
True

Berdasarkan hasil tersebut diketahui bahwa atribut yang memiliki gain terhigh
adalah Windy yaitu sebesar 1. Dengan demikian Windy dapat menjadi node
cabang dari nilai Rainy. Terdapat 2 nilai atribut dari Windy yaitu False dan
True.

Dari

kedua

nilai

atribut

tersebut,

nilai

atribut

False

sudah

mengklasifikasikan kasus menjadi 1 yaitu keputusannya Yes dan nilai atribut No


mengklasifikasikan kasus menjadi 1 yaitu keputusannya No. Sehingga tidak
perlu lagi dilakukan perhitungan lebih lanjut untuk atribut ini.

Pohon keputusan yang terbentuk sampai pada tahap ini adalah sebagai berikut :

Dengan memperhatikan pohon keputusan diatas, diketahui bahwa semua kasus sudah
masuk kedalam kelas. Dengan demikian, pohon keputusan tersebut merupakan pohon
keputusan terkahir yang terbentuk.
Kesimpulan :
Humidity ->High, Outlook->Rainy, Windy->false = Playing tennis
Humidity ->High, Outlook->Rainy, Windy->true = Dont Playing tennis

Anda mungkin juga menyukai