Anda di halaman 1dari 9

a.

Algoritma ID3
ID3 (Iterative Dichotomiser Three) atau yang disebut juga dengan Induction of Decision Tree adalah suatu
algoritma matematika yang digunakan untuk menghasilkan suatu pohon keputusan yang mampu
mengklasifikasi suatu obyek. Pengertian laindari ID3 yaitu ID3 merupakan sebuah metode yang
digunakan untuk membangkitkan pohon keputusan.
ID3 diperkenalkan pertama kali oleh Ross Quinlan (1979). ID3 merepresentasi konsep-konsep dalam
bentuk pohon keputusan. Aturan-aturan yang dihasilkan oleh ID3 mempunyai relasi yang hirarkis seperti
suatu pohon (mempunyai akar, titik, cabang, dan daun). Beberapa peneliti menyebut struktur model yang
dihasilkan ID3 sebagai pohon keputusan (decision tree) sementara peneliti yang lain menyebutnya pohon
aturan (rule tree).
Algoritma pada ID3 berbasis pada Occam’s razor: lebih memilih pohon keputusan yang lebih kecil (teori
sederhana) dibanding yang lebih besar. Tetapi tidak dapat selalu menghasilkan pohon keputusan yang
paling kecil dan karena itu occam’s razor bersifat heuristik. Occam’s razor diformalisasi menggunakan
konsep dari entropi informasi.
Adapun langkah-langkah algoritma ID3 adalah:
• Dimulai dari node akar.
• Hitung frekuensi kemunculan masing-masing nilai atribut pada data survey.
• Hitung nilai Entropy dari masing-masing nilai atribut.
𝑚

𝐸(𝑠) = − ∑ 𝑝(𝜔𝑖 |𝑠) log 2 𝑝(𝜔𝑖 |𝑠)


𝑖=1

Keterangan:
𝑝(𝜔𝑖 |𝑠) = proporsi kelas ke-i dalam semua data latih yang di proses di node s
• Hitung nilai Information Gain dengan menggunakan nilai Entropy yang telah dihitung sebelumnya.
𝑛

𝐺(𝑠, 𝑗) = 𝐸(𝑠) − ∑ 𝑝(𝑣𝑖 |𝑠) × 𝐸(𝑠𝑖 )


𝑖=1

Keterangan:
𝑝(𝑣𝑖 |𝑠) = proposisi nilai v muncul pada kelas dalam node.
𝐸(𝑠𝑖 ) = entropy komposisi v dari kelas ke-jdalam data ke i node tersebut
𝐸(𝑠) = entropy semua data
• Ambil nilai Information Gain terbesar dan jadikan simpul akar.
• Hilangkan atribut yang dipilih sebelumnya dan ulangi perhitungan nilai Entropy dan Information
Gain dengan memilih Information Gain terbesar dan dijadikan simpul internal pohon.
• Ulangi perhitungan tersebut hingga semua atribut pohon memiliki kelas.
• Jika semua pohon sudah memilik kelas, maka tampilkan pohon keputusan dan generate aturan
keputusan.
Contoh:
Induksi decision tree dengan ID3:Data ini akan digunakan untuk memprediksi “apakah harus bermain
baseball dengan menjawab ya atau tidak” . Fitur yang digunakan ada 4, yaitu Cuaca, Suhu, Kelembaban,
Angin. Nilai fitur menggunakan tipe kategorikal, rinciannya sebagai berikut:
Cuaca = {cerah, mendung, hujan}
Suhu = {panas, lembut, dingin}
Kelembaban = {tinggi, normal}
Angin = {pelan, kencang}
Contoh:
Tabel 2. Data Klasifikasi Bermain Baseball
No Cuaca Suhu Kelembaban Angin Bermain

1 Cerah Panas Tinggi Pelan Tidak

2 Cerah Panas Tinggi Kencang Tidak

3 Mendung Panas Tinggi Pelan Ya

4 Hujan Lembut Tinggi Pelan Ya

5 Hujan Dingin Normal Pelan Ya

6 Hujan Dingin Normal Kencang Tidak

7 Mendung Dingin Normal Kencang Ya

8 Cerah Lembut Tinggi Pelan Tidak

9 Cerah Dingin Normal Pelan Ya

10 Hujan Lembut Normal Pelan Ya

11 Cerah Lembut Normal Kencang Ya

12 Mendung Lembut Tinggi Kencang Ya

13 Mendung Panas Normal Pelan Ya

14 Hujan Lembut Tinggi Kencang Tidak

Dimulai dari node akar , harus dihitung dahulu entropy untuk node akar terhadap komposisi kelas:
𝐸(𝑠𝑒𝑚𝑢𝑎) = −(𝑝(𝑦𝑎|𝑠𝑒𝑚𝑢𝑎) × log 2 𝑝(𝑦𝑎|𝑠𝑒𝑚𝑢𝑎) +
𝑝(𝑡𝑖𝑑𝑎𝑘|𝑠𝑒𝑚𝑢𝑎) × log 2 𝑝(𝑡𝑖𝑑𝑎𝑘|𝑠𝑒𝑚𝑢𝑎))
9 9 5 5
= − (((14) × 𝑙𝑜𝑔2 (14)) + ((14) × 𝑙𝑜𝑔2 (14)))

= 0,9403
Selanjutnya dihitung entropy untuk setiap fitur terhadap kelas. Untuk entropy nilai dalam ‘cuaca’
diperoleh:
𝐸(𝑠𝑒𝑚𝑢𝑎𝑐𝑒𝑟𝑎ℎ ) = −(𝑝(𝑦𝑎|𝑐𝑒𝑟𝑎ℎ) × log 2 𝑝(𝑦𝑎|𝑐𝑒𝑟𝑎ℎ) +
𝑝(𝑡𝑖𝑑𝑎𝑘|𝑐𝑒𝑟𝑎ℎ) × log 2 𝑝(𝑡𝑖𝑑𝑎𝑘|𝑐𝑒𝑟𝑎ℎ))
2 2 3 3
= − (((5) × 𝑙𝑜𝑔2 (5)) + ((5) × 𝑙𝑜𝑔2 (5)))

= 0,9710
𝐸(𝑠𝑒𝑚𝑢𝑎𝑚𝑒𝑛𝑑𝑢𝑛𝑔 ) = −(𝑝(𝑦𝑎|𝑚𝑒𝑛𝑑𝑢𝑛𝑔) × log 2 𝑝(𝑦𝑎|𝑚𝑒𝑛𝑑𝑢𝑛𝑔) +
𝑝(𝑡𝑖𝑑𝑎𝑘|𝑚𝑒𝑛𝑑𝑢𝑛𝑔) × log 2 𝑝(𝑡𝑖𝑑𝑎𝑘|𝑚𝑒𝑛𝑑𝑢𝑛𝑔))
4 4 0 0
= − (((4) × 𝑙𝑜𝑔2 (4)) + ((4) × 𝑙𝑜𝑔2 (4)))

=0
𝐸(𝑠𝑒𝑚𝑢𝑎ℎ𝑢𝑗𝑎𝑛 ) = −(𝑝(𝑦𝑎|ℎ𝑢𝑗𝑎𝑛) × log 2 𝑝(𝑦𝑎|ℎ𝑢𝑗𝑎𝑛) +
𝑝(𝑡𝑖𝑑𝑎𝑘|ℎ𝑢𝑗𝑎𝑛) × log 2 𝑝(𝑡𝑖𝑑𝑎𝑘|ℎ𝑢𝑗𝑎𝑛))
3 3 2 2
= − (((5) × 𝑙𝑜𝑔2 (5)) + ((5) × 𝑙𝑜𝑔2 (5)))

= 0,9710
Entropy tersebut dihitung pada setiap fitur. Selanjutnya dihitung gain untuk setiap fitur. Dari
perhitungan didapat gain:
𝐺(𝑠𝑒𝑚𝑢𝑎, 𝑐𝑢𝑎𝑐𝑎) = 𝐸(𝑠𝑒𝑚𝑢𝑎) − ∑𝑛𝑖=1 𝑝(𝑣𝑖 |𝑠𝑒𝑚𝑢𝑎) × 𝐸(𝑠𝑒𝑚𝑢𝑎𝑐𝑢𝑎𝑐𝑎 )

(𝑝(𝑐𝑒𝑟𝑎ℎ|𝑠𝑒𝑚𝑢𝑎) × 𝐸(𝑠𝑒𝑚𝑢𝑎𝑐𝑒𝑟𝑎ℎ )) +
= 𝐸(𝑠𝑒𝑚𝑢𝑎) − (𝑝(𝑚𝑒𝑛𝑑𝑢𝑛𝑔|𝑠𝑒𝑚𝑢𝑎) × 𝐸(𝑠𝑒𝑚𝑢𝑎𝑚𝑒𝑛𝑑𝑢𝑛𝑔 )) +
(𝑝(ℎ𝑢𝑗𝑎𝑛|𝑠𝑒𝑚𝑢𝑎) × 𝐸(𝑠𝑒𝑚𝑢𝑎ℎ𝑢𝑗𝑎𝑛 ))
( )
5 4 5
=0,9403 − (((14) × 0,9710) + ((14) × 0) + ((14) × 0,9710))

= 0,2467
𝐺(𝑠𝑒𝑚𝑢𝑎, 𝑠𝑢ℎ𝑢) = 0,0292
𝐺(𝑠𝑒𝑚𝑢𝑎, 𝑘𝑒𝑙𝑒𝑚𝑏𝑎𝑏𝑎𝑛) = 0,1518
𝐺(𝑠𝑒𝑚𝑢𝑎, 𝑎𝑛𝑔𝑖𝑛) = 0,048

Tabel 3. Hasil perhitungan entropy dan gain untuk node akar


Node Jumlah Ya Tidak Entropy Gain

1 Total 14 9 5 0,9430

Cuaca 0,2467
Cerah 5 2 3 0,9710

Mendung 4 4 0 0

Hujan 5 3 2 0,9710

Suhu .......

Panas 4 2 2 1

Lembut 6 4 2 0,9183

Dingin 4 3 1 0,8113

Kelembaban ........

Tinggi 7 3 4 0,9852

Normal 7 6 1 0,5917

Angin ........

Pelan 8 6 2 0,8113

Kencang 6 3 3 1

Dari tabel 3 menunjukkan bahwa gain tertinggi ada di fitur “cuaca” sehingga “cuaca” dijadikan
sebagai node akar. Untuk cabangnya digunakan 3 nilai dalam node akar. Sedangkan data akan terpecah
menjadi 3 kelompok “mendung”, “cerah” dan “hujan”.
Tabel 4. Hasil pemisahan data oleh fitur cuaca
Cuaca Suhu Kelembaban Angin Bermain

Cerah Panas Tinggi Pelan Tidak

Cerah Panas Tinggi Kencang Tidak

Cerah Lembut Tinggi Pelan Tidak

Cerah Dingin Normal Pelan Ya

Cerah Lembut Normal Kencang Ya

Mendung Panas Tinggi Pelan Ya

Mendung Dingin Normal Kencang Ya

Mendung Lembut Tinggi Kencang Ya

Mendung Panas Normal Pelan Ya

Hujan Lembut Tinggi Pelan Ya


Hujan Dingin Normal Pelan Ya

Hujan Dingin Normal Kencang Tidak

Hujan Lembut Normal Pelan Ya

Hujan Lembut Tinggi Kencang Tidak

Pada perhitungan selanjutnya, fitur ‘cuaca’ tidak dilibatkan. Untuk node internal di cabang ‘cerah’
didapat hasil:
1
Cuaca
Cerah hujan
mendung
2 4
ya

Gambar 1. Decision tree cuaca


Untuk node di cabang ‘mendung’(node 3), entropy node bernilai nol sehingga dapat dipastikan semua
data di node cabang ‘mendung’ masuk di kelas yang sama dan node yang dituju oleh cabang ‘mendung’
menjadi daun(node terminal)
Tabel 4. Hasil perhitungan entropy dan gain untuk node 2
Node Jumlah Ya Tidak Entropy Gain

1 Total 5 2 3 0,9710

Suhu

Panas

Lembut

Dingin

Kelembaban

Tinggi

Normal

Angin

Pelan

Kencang

Untuk node di cabang ‘hujan’ didapatkan hasil sbb:


Tabel 5. Hasil perhitungan entropy dan gain untuk node 4
Node Jumlah Ya Tidak Entropy Gain

1 Total

Suhu

Panas

Lembut

Dingin

Kelembaban

Tinggi

Normal

Angin

Pelan

Kencang

Hasil yang didapat di Tabel 4 menunjukkan bahwa gain tertinggi ada fitur ‘kelembaban’ sehingga
‘kelembaban’ dijadikan sebagai node internal(node 2). Untuk cabangnya, digunakan digunakn 2 nilai
pada node ‘kelembaban’. Selanjutnya data di dalamnya akan terpecah lagi menjadi 2 kelompok, yaitu
‘tinggi’ dan ‘normal’. Dua cabang yang didapat untuk kelembaban ‘tinggi ‘ dan ‘normal’ mempunyai
entropy nol. Berarti dua node tersebut menjadi daun.
Hasil pada tabel 5 menunjukkan bahwa gain tertinggi adalah fitur ‘angin’, maka angin dijadikan node
internal(node 4). Untuk cabangnya digunakan dua nilai di dalam node ‘angin’. Selanjutnya, data di
dalamnya akan dipecah menjadi 2 kelompok, ‘kencang dan ‘pelan’’. Dua cabang yang didapat untuk
angin ‘kencang’ dan ‘pelan’ mempunyai entropy 0, berarti dua node tersebut menjdi daun. Pemisahan
data yang didapatkan dari fitur ‘kelembaban’ dan ‘angin’ disajikan sbb:
Tabel 6. Hasil Pemisahan data oleh fitur ‘kelembaban’ dan angin
Cuaca Suhu Kelembaban Angin Bermain

Cerah Panas Normal Pelan Ya

Cerah Panas Normal Kencang Ya

Cerah Lembut Tinggi Pelan Tidak

Cerah Dingin Tinggi Kencang Tidak

Cerah Lembut Tinggi Pelan Tidak

Mendung Panas Tinggi Pelan Ya

Mendung Dingin Normal Kencang Ya

Mendung Lembut Tinggi Kencang Ya

Mendung Panas Normal Pelan Ya

Hujan Lembut Tinggi Pelan Ya

Hujan Dingin Normal Pelan Ya

Hujan Dingin Normal Pelan Ya

Hujan Lembut Normal Kencang Tidak

Hujan Lembut Tinggi Kencang Tidak

Hasil akhir induksi decision tree disajikan pada gambar 2.

Ket:
1
= Node
Cuaca
Cerah hujan
mendung
Kelembaban = leaf/daun
angi
ya n
normal tinggi kencang
pelan

ya tidak ya tidak

Gambar 2. Decision tree untuk kasus prediksi bermain baseball

Pohon yang dihasilkan di atas dapat dituliskan dalam bentuk:


IF cuaca=cerah AND kelembaban=normal THEN playball ‘ya’
IF cuaca=cerah AND kelembaban=tinggi THEN playball ‘tidak’
IF cuaca=mendung THEN playball ‘ya’
IF cuaca=hujan AND angin=pelan THEN playball ‘ya’
IF cuaca=hujan AND angin=kencang THEN playball ‘tidak’

Anda mungkin juga menyukai