Anda di halaman 1dari 10

MATERI 6 - ALGORITMA ITERATIVE DICHOTOMIZER THREE (ID3)

PENGERTIAN ID3 singkatan dari Iterative Dichotomiser Three. Ada juga yang menyebut Induction of Decision Tree. ID3 adalah suatu algooritma matematika yang digunakan untuk menghasilkan suatu pohon keputusan yang mampu mengklasifikasi suatu obyek. ID3 diperkenalkan pertama kali oleh Ross Quinlan (19 9!. ID3 merepresentasi konsep"konsep dalam bentuk pohon keputusan. Aturan"aturan yang dihasilkan oleh ID3 mempunyai relasi yang hirarkis seperti suatu pohon (mempunyai akar# titik# $abang# dan daun!. %eberapa peneliti menyebut struktur model yang dihasilkan ID3 sebagai pohon keputusan ( decision tree! sementara peneliti yang lain menyebutnya pohon aturan (rule tree!. CONTOH KASUS 1& 'inggu (ermainan )enis pada *etiap *abtu (agi Minggu '1 ''3 '& '1 '3 ' '4 '9 '15 '11 '1'13 '1& Ramalan_Cuaca +erah +erah 'endung 0ujan 0ujan 0ujan 'endung +erah +erah 0ujan +erah 'endung 'endung 0ujan Suhu (anas (anas (anas *ejuk Dingin Dingin Dingin *ejuk Dingin *ejuk *ejuk *ejuk (anas *ejuk Kelembaban )inggi )inggi )inggi )inggi 2ormal 2ormal 2ormal )inggi 2ormal 2ormal 2ormal )inggi 2ormal )inggi Angin ,emah .uat ,emah ,emah ,emah .uat .uat ,emah ,emah ,emah .uat .uat ,emah .uat Bermain_Tenis )idak )idak /a /a /a )idak /a )idak /a /a /a /a /a )idak

Atribut )ujuan adalah %ermain )enis yang memiliki 6alue ya atau tidak. Atribut adalah Ramalan7+ua$a# *uhu# .elembaban# dan Angin.

A GORITMA !AN " O#CHART 8ntropy adalah formula untuk menghitung homogenitas dari sebuah sample9$ontoh.

*olusi menggunakan entropy dari $ontoh kasus di atas : * adalah koleksi dari 1& $ontoh dengan 9 $ontoh positif dan 1 $ontoh negatif# ditulis dengan notasi ;9<#1"=. (ositif di sini maksudnya 6alue %ermain7)enis > /a sedangkan negatif sebaliknya. 8ntropy dari * adalah :
c

Entropy(S) = pi =
?i 2

i =1

- pi log2 pi

Zi = contoh positif + contoh negatif N = jumlah data


8ntropy(;9<#1"=! > " (991&! log- (991&! " (191&! log- (191&! > " (5.3&-9! ((log (991&!!9log -! " (5.31 1! ((log (191&!!9log -! > " (5.3&-9! ("5.191995.3515! " (5.31 1! ("5.&& -95.3515! > " (5.3&-9! ("5.33 1! " (5.31 1! ("1.&41 ! > 5.&594 < 5.1351 > 5.9&5-9 +atatan : 8ntropy(*! > 5# jika semua $ontoh pada * berada dalam kelas yang sama. 8ntropy(*! > 1# jika jumlah $ontoh positif dan jumlah $ontoh negatif dalam * adalah sama. 5 @ 8ntropy(*! @ 1# jika jumlah $ontoh positif dan jumlah $ontoh negatif dalam * tidak sama.

Gain$S%A& adalah Information Gain dari sebuah atribut A pada koleksi $ontoh * :
A Sv A v Values ( A ! A S A

Gain(S, ) = Entropy(S) -

Entropy(S!)

1. Balues(Angin! > ,emah# .uat *,emah *.uat > ;3<#-"= > ;3<#3"=
emah

Cain(*#Angin! > En'r()*$S& + $,-./&En'r()*$S 1 5.5&413 -. Balues(.elembaban! > )inggi# 2ormal *)inggi *2ormal > ;3<#&"= > ;3<#1"= $2-./&En'r()*$SN(rmal&

& + $0-./&En'r()*$SKua'&

1 5.9&5-9 " (491&!5.411-4 " (391&!1.5555

Cain(*#.elembaban! > En'r()*$S& + $2-./&En'r()*$STinggi& + 1 5.9&5-9 " ( 91&!5.941-3 " ( 91&!5.1913 > 5.1114& 3. Balues(*uhu! *(anas **ejuk *Dingin Cain(*#*uhu! > (anas# *ejuk# Dingin > ;-<#-"= > ;&<#-"= > ;3<#1"= > En'r()*$S& + $/-./&En'r()*$SPanas& + $0-./&En'r()*$SSe3u4& + $/-./&En'r()*$S!ingin& 1 5.9&5-9 " (&91&!1.55555 " (391&!5.91435 " (&91&!5.411-4 > 5.5-9-&. Balues(Ramalan7+ua$a! > +erah# 'endung# 0ujan *+erah *'endung *0ujan > ;-<#3"= > ;&<#5"= > ;3<#-"= $/-./&En'r()*$SMen6ung& + $5-./&En'r()*$SHu3an& 1 5.9&5-9 " (191&!5.9 5 1 " (&91&!1.55555 " (191&!5.9 5 1 3

Cain(*#Ramalan7+ua$a! > En'r()*$S& + $5-./&En'r()*$SCerah& +

Normal &uat %emah #inggi #ida "a


$

> 789/025 Dadi# information gain untuk 3 atribut yang ada adalah : Cain(*#Angin! > 5.5&413 Cain(*#.elembaban! > 5.1114& Cain(*#*uhu! > 5.5-9-Cain(*#Ramalan7+ua$a! > 789/025 )ampak bahEa attribute Ramalan_Cuaca akan menyediakan prediksi terbaik untuk target attribute Bermain_Tenis.

[M1, M2, ..., M14] [9+,5-]

Cerah

Ramalan_Cuaca Mendung

Hujan

?
[M1, M2, M8, M9, M11] [2+,3-]

Ya

?
[M4, M5, M6, M10, M14] [3+,2-]

Fntuk node $abang Ramalan7+ua$a > +erah# *+erah > ;'1# '-# '4# '9# '11= Minggu '1 ''4 '9 '11 Ramalan_Cuaca +erah +erah +erah +erah +erah Suhu (anas (anas *ejuk Dingin *ejuk Kelembaban )inggi )inggi )inggi 2ormal 2ormal Angin ,emah .uat ,emah ,emah .uat Bermain_Tenis )idak )idak )idak /a /a

1. Balues(*uhu! *(anas **ejuk *Dingin Cain(*+erah#*uhu!

> (anas# *ejuk# Dingin > ;5<#-"= > ;1<#1"= > ;1<#5"= > En'r()*$SCerah& + $9-5&En'r()*$SPanas& + $9-5&En'r()*$SSe3u4& + $.-5&En'r()*$S!ingin& 1 5.9 5 1 " (-91!5.55555 " (-91!1.55555 " (191!5.55555 > 5.1 5 1

&

-. Balues(.elembaban! *)inggi *2ormal

> )inggi# 2ormal > ;5<#3"= > ;-<#5"= $9-5&En'r()*$SN(rmal& 1 5.9 5 1 " (391!5.55555 " (-91!5.55555 > 78;2725

Cain(*+erah#.elembaban! > En'r()*$SCerah& + $:-5&En'r()*$STinggi& +

3. Balues(Angin! *,emah *.uat Cain(*+erah#Angin!

> ,emah# .uat > ;1<#-"= > ;1<#1"= > En'r()*$SCerah& + $:-5&En'r()*$S $9-5&En'r()*$SKua'& 1 5.9 5 1 " (391!5.91435 " (-91!1.55555 1 5.5199
emah

&+

Atribut Kelembaban menyediakan prediksi terbaik pada le6el ini.

[M1, M2, ..., M14] [9+,5-]

Ramalan_Cuaca Cerah
[M1, M2, M8, M9, M11] [2+,3-]

Hujan Mendung

!"l"m#a#an

Ya

?
[M4, M5, M6, M10, M14] [3+,2-]

Normal

Tinggi

Ya
[M1, M2, M8] [0+,3-]

Tida [M9, M11] [2+,0-]

Fntuk node $abang Ramalan7+ua$a > 0ujan# *0ujan > ;'&# '1# '3# '15# '1&= Minggu '& '1 '3 '15 '1& Ramalan_Cuaca 0ujan 0ujan 0ujan 0ujan 0ujan Suhu *ejuk Dingin Dingin *ejuk *ejuk Kelembaban )inggi 2ormal 2ormal 2ormal )inggi Angin ,emah ,emah .uat ,emah .uat Bermain_Tenis /a /a )idak /a )idak

1. Balues(*uhu! **ejuk *Dingin Cain(*0ujan#*uhu!

> *ejuk# Dingin ()idak ada suhu 1 )anas saat ini! > ;-<#1"= > ;1<#1"= > En'r()*$SHu3an& + $:-5&En'r()*$SSe3u4& + $9-5&En'r()*$S!ingin& 1 5.9 5 1 " (391!5.91435 " (-91!1.55555 > 5.5199

-. Balues(.elembaban! *)inggi *2ormal

> )inggi# 2ormal > ;1<#1"= > ;-<#1"= $:-5&En'r()*$SN(rmal& 1 5.9 5 1 " (-91!1.55555 " (391!5.91435 > 5.5199

Cain(*0ujan#.elembaban! > En'r()*$SHu3an& + $9-5&En'r()*$STinggi& +

3. Balues(Angin! *,emah *.uat

> ,emah# .uat > ;3<#5"= > ;5<#-"=


emah

Cain(*0ujan#Angin! > En'r()*$SHu3an& + $:-5&En'r()*$S $9-5&En'r()*$SKua'&

&+

1 5.9 5 1 " (391!5.55555 " (-91!5.55555 1 78;2725 Atribut Angin menyediakan prediksi terbaik pada le6el ini.

[M1, M2, ..., M14] [9+,5-]

Ramalan_Cuaca Cerah
[M1, M2, M8, M9, M11] [2+,3-]

Hujan Mendung
[M4, M5, M6, M10, M14] [3+,2-]

!"l"m#a#an

Ya

$n%in

Normal

Tinggi

Lemah

Kuat

Ya
[M1, M2, M8] [0+,3-]

Tida [M9, M11] [2+,0-]

Ya
[M4, M5, M10] [3+,0-]

Tida [M6, M14] [0+,2-]

Algoritma : If Ramalan_Cuaca = Cerah AND Kelembaban = Tinggi THEN Bermain_Tenis = Tidak If Ramalan_Cuaca = Cerah AND Kelembaban = Normal THEN Bermain_Tenis = a a THEN

If Ramalan_Cuaca = !endung THEN Bermain_Tenis = If Ramalan_Cuaca = Hu"an AND Angin = Kua#

Bermain_Tenis = Tidak If Ramalan_Cuaca = Hu"an AND Angin = $emah THEN Bermain_Tenis = a

Ramalan_Cuaca +erah +erah +erah +erah +erah +erah +erah +erah +erah +erah +erah +erah 'endung 'endung 'endung 'endung 'endung 'endung 'endung 'endung 'endung 'endung 'endung 'endung 0ujan 0ujan 0ujan 0ujan 0ujan 0ujan 0ujan 0ujan

Suhu (anas (anas (anas (anas *ejuk *ejuk *ejuk *ejuk Dingin Dingin Dingin Dingin (anas (anas (anas (anas *ejuk *ejuk *ejuk *ejuk Dingin Dingin Dingin Dingin *ejuk *ejuk *ejuk *ejuk Dingin Dingin Dingin Dingin

Kelembaban )inggi )inggi 2ormal 2ormal )inggi )inggi 2ormal 2ormal )inggi )inggi 2ormal 2ormal )inggi )inggi 2ormal 2ormal )inggi )inggi 2ormal 2ormal )inggi )inggi 2ormal 2ormal )inggi )inggi 2ormal 2ormal )inggi )inggi 2ormal 2ormal

Angin .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah .uat ,emah

Bermain_Tenis )idak )idak /a /a )idak )idak /a /a )idak )idak /a /a /a /a /a /a /a /a /a /a /a /a /a /a )idak /a )idak /a )idak /a )idak /a

GloE$hart :

'amalan()uaca )erah +ujan

,endung

&elem*a*an

"a

ngin

Normal

#inggi

%emah

&uat

"a

#ida $

"a

#ida $

A8 KEUNTUNGAN !AN KERUGIAN I!: .euntungan : Dapat membuat aturan prediksi yang mudah dimengerti. 'embangun pohon keputusan dengan $epat. 'embangun pohon keputusan yang pendek. 0anya membutuhkan beberapa tes atribut hingga semua data

diklasifikasikan. .erugian : Dika $ontoh yang diteliti terlalu ke$il 9 sederhana mungkin membuat data over classified 0anya satu atribut yang dapat dites dalam satu Eaktu untuk membuat keputusan. 'engelompokkan data yang berkelanjutan mungkin terhitung mahal# sebanyak pohon yang harus dibuat untuk melihat dimana menghentikan proses kelanjutannya.

8Hample output :

Re<erensi
'anongga# Danny (-551!. Teori!A"li#asi Iterative Dichotomi$er Three dalam %embela&aran 'esin. Gakultas )eknologi Informasi F.*I# *alatiga. http:99EEE.hansmi$hael.$om9doEnload9diktatid3.pdf

15

Anda mungkin juga menyukai