Tugas Sistem Pakar ID3

13
TUGAS SISTEM PAKAR ALGORITMA ID3Disusun Oleh : Nama : Adityaranda Satriawan NIM : 0910960001 PROGAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS BRAWIJAYA MALANG 2012

Transcript of Tugas Sistem Pakar ID3

Page 1: Tugas Sistem Pakar ID3

TUGAS SISTEM PAKAR

“ALGORITMA ID3”

Disusun Oleh :

Nama : Adityaranda Satriawan

NIM : 0910960001

PROGAM STUDI ILMU KOMPUTER

JURUSAN MATEMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS BRAWIJAYA

MALANG

2012

Page 2: Tugas Sistem Pakar ID3

1. Definisi ID3

Iterative Dichotomicer 3 (ID3) adalah algoritma decision tree learning (algoritma

pembelajaran pohon keputusan) yang paling dasar. Algoritma ini melakukan pencarian

secara menyeluruh (greedy) pada semua kemungkinan pohon keputusan. Salah satu

algoritma induksi pohon keputusan yaitu ID3 (Iterative Dichotomiser 3). ID3 dikembangkan

oleh J. Ross Quinlan.

Kareakteristik ID3 dalam membangun pohon keputusan adalah secara top-down dan

divide-and-conquer. Top-down artinya pohon keputusan dibangun dari simpul akar ke daun,

sementara divide-and-conquer artinya training data secara rekursif dipartisi ke dalam

bagian-bagian yang lebih kecil saat pembangunan pohon. Algoritma ID3 dapat

diimplementasikan menggunakan fungsi rekursif. Algoritma ID3 berusaha membangun

decision tree secara top-down, dengan mengevaluasi semua atribut yang ada dengan

menggunakan suatu ukuran statistik (information gain) untuk mengukur efektivitas suatu

atribut dalam mengklasifikasikan kumpulan sampel data.

Decision Tree adalah sebuah struktur pohon, dimana setiap node pohon

merepresentasikan atribut yang telah diuji, setiap cabang merupakan suatu pembagian hasil

uji, dan node daun (leaf) merepresentasikan kelompok kelas tertentu. Level node teratas dari

sebuah Decision Tree adalah node akar (root) yang biasanya berupa atribut yang paling

memiliki pengaruh terbesar pada suatu kelas tertentu. Pada umumnya Decision Tree

melakukan strategi pencarian secara top-down untuk solusinya.

Entropy

Sebuah obyek yang diklasifikasikan dalam pohon harus dites nilai entropinya. Entropy

adalah ukuran dari teori informasi yang dapat mengetahui karakteristik dari impuryt ,dan

homogenity dari kumpulan data. Dari nilai entropy tersebut kemudian dihitung nilai

information gain (IG) dari masing-masing atribut.

Rumus Entropy (S) :

Dimana :

S = Ruang (data) sample yang digunakan untuk training.

P+ = Jumlah yang bersolusi positif (mendukung) pada data sample untuk kriteria tertentu.

P- = Jumlah yang bersolusi negatif (tidak mendukung) pada data sample untuk kriteria

tertentu.

Page 3: Tugas Sistem Pakar ID3

Entropy (S) adalah jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak

suatu kelas (+ atau -) dari sejumlah data acak pada suatu ruang sampel S. Entropy bisa

dikatakan sebagai kebutuhan bit untuk menyatakan suatu kelas. Semakin kecil nilai entropy

maka semakin baik digunakan dalam mengekstraksi suatu kelas. Panjang kode untuk

menyatakan informasi secara optimal adalah –log2p bits untuk pesan yang mempunyai

probabilitas p. Sehingga jumlah bit yang diperkirakan untuk mengekstraksi S ke dalam kelas

adalah

Information Gain

Information Gain merupakan ukuran efektifitas suatu atribut dalam mengklasifikasikan

data. Secara matematis, Information Gain dari suatu atribut A, dituliskan sebagai berikut :

Rumus Information Gain (S,A) :

Dimana :

A = Atribut.

V = Menyatakan suatu nilai yang mungkin untuk atribut A.

Values (A) : Himpunan yang mungkin untk atribut A.

|Sv| = Jumlah sampel untuk nilai V.

|S| = Jumlah seluruh sampel data.

Entropy (Sv) = Entropy untuk sampel-sampel yang memilki nilai V.

Metode

a. Mencari sampel data yang akan digunakan untuk melaksanakan proses transformasi

menjadi pengetahuan.

b. Menghitng nilai entropy dan informatin gain untuk menentukan the best classifier (nilai

terbesar).

c. Melakukan konstruksi pohon keputusan, membentuk simpul yang berisi atribut tersebut.

d. Lakukan operasi conjunction ( ̂ ) pada setiap simpul yang dikunjungi sampai ditemukan

leaf node.

Page 4: Tugas Sistem Pakar ID3

2. Studi Kasus ID3

“Studi kelayakan dalam memilih lapangan sepakbola untuk event piala dunia di

Brazil pada tahun 2014”

Deskripsi masalah

Terdapat 11 lapangan sepak bola yang akan digunakan sebagai lapanagan untuk

pertandingan Piala Dunia 2014. Dalam hal ini, 11 lapangan tersebut akan diseleksi

kelayakannya dengan memperhatikan tiga parameter / atribut penilaian. Tiga parameter /

atribut tersebut adalah :

1. Ukuran Tribun dikelompokan dalam tiga kategori (besar, sedang, kecil)

2. Pencahayaan dikelompokan dalam tiga kategori (bagus, cukup, kurang)

3. Kondisi Rumput dikelompokan dalam 2 kaetgori (bagus dan jelek)

Tabel Informasi

Lapangan Ukuran Tribun Pencahayaan Kondisi Rumput Memenuhi

Lap1 Besar Bagus Baik Iya

Lap 2 Besar Kurang Buruk Tidak

Lap 3 Besar Cukup Buruk Iya

Lap 4 Besar Cukup Baik Iya

Lap 5 Sedang Kurang Buruk Tidak

Lap 6 Sedang Cukup Baik Iya

Lap 7 Sedang Cukup Buruk Iya

Lap 8 Sedang Bagus Baik Iya

Lap 9 Kecil Cukup Buruk Tidak

Page 5: Tugas Sistem Pakar ID3

Pada data kelayakan lapangan, jumlah kelas adalah 2, yaitu IYA dan TIDAK, maka dapat

dilihat bahwa nilai c = 2. Jumlah sampel kelas 1 (IYA) adalah 8 dan jumlah sampel untuk

kelas 2 (TIDAK) adalah 3. p1 = 8 dan p2= 3. Dengan demikian Entropy untuk kumpulan

sampel data S adalah :

Entropy (S) = - ( 8/11) log2 ( 8/11) – (3/11) log2 (3/11)

= 0,8454

Dari tabel diatas, kita misalkan atribut Memenuhi bernilai IYA merupakan sampel (+),

dan atribut Memenuhi bernilai TIDAK merupakan sampel (-), maka akan didiapat :

- Nilai (Ukuran Tribun) = Besar, Sedang, Kecil.

S = [ 8+ , 3- ] , | S | = 11 SBesar = [ 3+ , 1- ] , | S | = 4

SSedang = [ 3+ , 1- ] , | S | = 4

SKecil = [ 2+ , 1- ] , | S | = 3

Hitung masing – masing nilai Entropy SBesar , SSedang , SKecil dan Information Gain

untuk nilai Ukuran Tribun adalah :

Lap 10 Kecil Bagus Baik Iya

Lap 11 Kecil Kurang Baik Iya

Page 6: Tugas Sistem Pakar ID3

Entropy (S) = 0,8454

Entrophy (SBesar) = (-3/4) log2 (3/4) – (1/4) log2 (1/4) = 0,8113

Entrophy (SSedang) = (-3/4) log2 (3/4) – (1/4) log2 (1/4) = 0,8113

Entrophy (SKecil) = (-2/4) log2 (2/3) – (1/3) log2 (1/3) = 0,9183

Information Gain (S, Ukuran Tribun = E

= 0,8454 – (4/11) 0,8113 – (3/11) 0,9183

= 0,8454 – 0,2950 – 0,2950 – 0,25044

= 0,0049

- Nilai (Pencahayaan) = Bagus, Cukup, Kurang.

S = [ 8+ , 3- ] , | S | = 11 SBagus = [ 3+ , 0- ] , | S | = 3 SCukup = [ 4+ , 1- ] , | S | = 5

SKurang = [ 1+ , 2- ] , | S | = 3

Entropy (S) = 0,8454

Entrophy (SBagus) = (-3/3) log2 (3/3) – (0/3) log2 (0/3) = 0

Entrophy (SCukup) = (-4/5) log2 (4/5) – (1/5) log2 (1/5) = 0,7219

Entrophy (SKurang) = (-1/3) log2 (1/3) – (2/3) log2 (2/3) = 0,9183

Entrophy (SBagus) menunjukan entropy minimum karena jumlah sampel pada salah satu

kelas adalah = 0, memiliki keberagaman data minimum.

Information Gain (S, Pencahayaan) =

= 0,8454 – 0 – (5/11) 0,7219 - (3/11) 0,9183

= 0,8454 – 0,32814 – 0,25044

= 0,26682

- Nilai (Kondisi Rumput) = Baik, Buruk

S = [ 8+ , 3- ] , | S | = 11 SBaik = [ 6+ , 0- ] , | S | = 6 SBuruk = [ 2+ , 3- ] , | S | = 5

Page 7: Tugas Sistem Pakar ID3

Entropy (S) = 0,8454

Entrophy (SBaik) = (-6/6) log2 (6/6) – (0/6) log2 (0/6) = 0 (Keberagaman data minimum)

Entrophy (SBuruk) = (-2/5) log2 (2/5) – (3/5) log2 (3/5) = 0,9709

Information Gain (S, Kondisi Rumput) =

= 0,8454 – 0 – (5/11) 0,9709

= 0,8454 – 0,44134

= 0,40406

Dari semua perhitungan diatas, maka didapatkan nilai Information Gain dari ketiga atribut

(Ukuran Tribun, Pencahayaan, Kondisi Rumput) sebagi berikut :

IG (S,Ukuran Tribun) = 0,0049

IG (S,Pencahayaan = 0,26682

IG (S,Kondisi Rumput) = 0,40406

Dari ketiga nilai Information Gain di atas, IG(S, Kondisi Rumput) adalaha nilai Gain yang

terbesar sehingga atribut Kondisi Rumput merupakan the best classifier yang akan

menjadi root nantinya.

Setelah kita dapatkan node root, selanjutnya kita akan menyusun pohon keptusan

berdasrkan nilai yang telah kita cari diatas.

Iterasi 1 level 0

Setelah kita dapatkan the best classifier, langkah selanjutnya kita akan mengecek

apakah perlu subtree dilevel berikutnya atau tidak. Atribut Kondisi Rumput memiliki 2

sampel (Baik dan Buruk). Untuk nilai baik terdapat 6 sampel. Sehingga perlu

memanggil fungsi ID3 dengan kumpulan sampel berupa sampel baik = [6+,0-], atribut

target = “Iya” dan kumpulan atribut = {Ukuran Tribun, Pencahayaan}. Dalam hal ini,

semua sampel “baik” termasuk dalam kelas “Iya”. Maka node in akan berhenti dan

mengembalikan satu simpul tunggal ke root dengan nilai “Iya”.

Baik

Iya

Iterasi 1 level 1

Kondisi Rumput

Page 8: Tugas Sistem Pakar ID3

Pada iterasi ini, akan dievaluasi untuk atibut Kondisi Rumput dengan nilai “Buruk”.

Nilai “Buruk” terdapat 5 sampel. Sehingga perlu memanggil fungsi ID3 dengan

kumpulan SampelBuruk = [2+, 3-] dimana atribut target = “Iya” dan kumpulan atribut =

{Ukuran Tribun, Pencahayaan}.

Pada tahap ini akan dilakukan perhitungan IG untuk atribut Ukuran Tribun dan

Pencahayaan, dengan ukuran sampel yang digunakan adalah SampelBuruk.

Maka, S = SampelBuruk = [2+, 3-], S = |5|

- Nilai (Ukuran Tribun) = Besar, Sedang, Kecil.

SBesar = [ 1+ , 1- ] , | S | = 2

SSedang = [ 1+ , 1- ] , | S | = 2

SKecil = [ 0+ , 1- ] , | S | = 1

Entropy (S) = (-2/5) log2 (2/5) – (3/5) log2 (3/5) = 0,9710

Entrophy (SBesar) = (-1/2) log2 (1/2) – (1/2) log2 (1/2) = 1

Entrophy (SSedang) = (-1/2) log2 (1/2) – (1/2) log2 (1/2) = 1

Entrophy (SKecil) = (-0/1) log2 (0/1) – (1/1) log2 (1/1) = 0

Information Gain (S, Ukuran Tribun = E

= 0,9710 – (2/5) 1 – (2/5) 1 – (1/5) 0

= 0,1710

- Nilai (Pencahayaan) = Bagus, Cukup, Kurang.

SBagus = [ 0+ , 0- ] , | S | = 0

SCukup = [ 2+ , 1- ] , | S | = 3

SKurang = [ 0+ , 2- ] , | S | = 2

Entropy (S) = (-2/5) log2 (2/5) – (3/5) log2 (3/5) = 0,9710

Entrophy (SBagus) = 0

Entrophy (SCukup) = (-2/3) log2 (2/3) – (1/3) log2 (1/3) = 0,9183

Entrophy (SKurang) = (-0/2) log2 (0/2) – (2/2) log2 (2/2) = 0

Page 9: Tugas Sistem Pakar ID3

Information Gain (S, Ukuran Tribun = E

= 0,9710 – 0 – (3/5) 0,9183 – 0

= 0,4200

Dari perhitungan diatas, maka didapatkan nilai IG yang terbesar adalah IG

(S,Pencahayaan). Sehingga Pencahayaan menjadi the best classifier yang diletakan

pada node dibawah node Kondisi Rumput pada cabang nilai “buruk”.

Baik Buruk

Iya

Iterasi 2 level 0

Selanjutnya, setiap nilai pada atribut Pencahayaan akan dicek apakah perlu dibuat

subtree dilevel berikutnya atau tidak. Untuk nilai “Bagus ( pada kumpulan sample

berupa SampleBuruk= [2+, 3-] ) terdapat 0 sample berarti Sample kosong. Sehingga,

perlu dibuat satu simpul daun yang tidak punya anak dibawahnya. Tidak perlu

memanggil fungsi ID3.

Baik Buruk

Iya

Bagus

Tidak

Iterasi 2 level 1

Nilai yang paling sering muncul pada SampelBuruk yaitu “Tidak”. Kemudian dilakukan

pengecekan untuk atribut “Pencahayaan bernilai “Cukup . Untuk nilai “Cukup

( pada kumpulan sample berupa SampleBuruk = [2+, 3-] ) terdapat 3 sample, berarti

sample “Cukup tidak kosong. Sehingga perlu memanggil fungsi ID3 dengan

kumpulan Sample berupa SampleCukup = [2+, 1-] , AtributTarget = “Iya . Dan

kumpulan atribut = {Ukuran Tribun}. Karena kumpulan atribut hanya terdapat 1, maka

Kondisi Rumput

Pencahayaan

Pencahayaan

Kondisi Rumput

Page 10: Tugas Sistem Pakar ID3

akan langsung menjadi the best classifier dan diletakan dibawah node Pencahayaan

pada cabang nilai “Cukup”.

Baik Buruk

Iya

Bagus Cukup

Tidak

Iterasi 3 level 0

Selanjutnya masing – masing nilai pada Ukuran Tribun akan dilakukan pengecekan.

Untuk nilai “Besar” ( pada kumpulan berupa Sample = [2+, 1-] ), terdapat 1 sampel ,

berarti SampleCukup tidak kosong. Sehingga, perlu memanggil fungsi ID3 dengan

kumpulan sample berupa SampleBesar = [ 1+, 0-] , Atribut Target = “Iya dan

kumpulan atribut = {}. Karena semua sampel pada SampelBesar termasuk dalam kelas

“Iya”, maka fungsi akan berhenti dan akan memberikan nilai balik dengan label “Iya”.

Baik Buruk

Iya

Bagus Cukup

Tidak

Besar

Iya

Iterasi 3 level 1

Pencahayaan

Kondisi Rumput

Ukuran Tribun

Pencahayaan

Ukuran Tribun

Kondisi Rumput

Page 11: Tugas Sistem Pakar ID3

Selanjutnya dilakukan pengecekan untuk nilai “Sedang” pada atribut Ukuran Tribun.

Ternyata terdapat 1 sampel pada kumpulan sampel dimana Kondisi Rumput bernilai

“Buruk dan Pencahayaan bernilai ”Cukup , karena SampleSedang tidak kosong maka

perlu memanggil fungsi ID3 dengan Kumpulan Sampel berupa SampleSedang = [1+, 0- ],

AtributTarget = “Iya , dan KumpulanAtribut = {}. Karena semua sampel pada

SampelSedang termasuk dalam kelas “Iya”, maka fungsi akan berhenti dan akan

memberikan nilai balik dengan label “Iya”.

Baik Buruk

Iya

Bagus Cukup

Tidak

Besar Sedang

Iya Iya

Iterasi 3 level 2

Selanjutnya pengecekan dilakukan untuk nilai “Kecil” pada atribut Ukuran Tribun.

Ternyata terdapat 1 sampel pada kumpulan sampel dimana Kondisi Rumput bernilai

“Buruk dan Pencahayaan bernilai ”Cukup , karena SampleKecil tidak kosong maka

perlu memanggil fungsi ID3 dengan Kumpulan Sampel berupa SampleKecil = [0+, 1- ],

AtributTarget = “Iya , dan KumpulanAtribut = {}. Karena semua sampel pada

SampelKecil termasuk dalam kelas “Tidak”, maka fungsi akan berhenti dan akan

memberikan nilai balik dengan label “Tidak”.

Baik Buruk

Pencahayaan

Ukuran Tribun

Kondisi Rumput

Kondisi Rumput

Page 12: Tugas Sistem Pakar ID3

Iya

Bagus Cukup

Tidak

Besar Sedang Kecil

Iya Iya Tidak

Iterasi 2 level 1

Setelah semua nilai pada atribut Ukuran Tribun di evaluasi, makan iterasi akan kembali

ke iterasi 2 untuk mengevaluasi nilai ”Kurang” pada atibut Pencahayaan. Didapatkan 2

sampel pada kumpula sampel dimana nilai Kondisi Rumput = “Buruk”, Pencahayaan =

“Cukup”. Karena SampelKurang tidak kosong, maka perlu memanggil fungsi ID3 dengan

kumpulan sampel berupa SampelKurang = [0+, 2-], AtributTarget = “Iya , dan

KumpulanAtribut = {}. Karena semua sampel pada SampelKurang termasuk dalam kelas

“Tidak”, maka fungsi akan berhenti dan akan memberikan nilai balik ke root dengan

label “Tidak”.

Baik Buruk

Iya

Bagus Cukup Kurang

Tidak Tidak

Besar Sedang Kecil

Iya Iya Tidak

Pencahayaan

Ukuran Tribun

Pencahayaan

Ukuran Tribun

Kondisi Rumput

Page 13: Tugas Sistem Pakar ID3

Maka akan didapatkan pohon keputusan final seperti gambar di atas. Dari pohon

keputusan diatas akan dapat digunakan untuk melakukan penelusuran terhadap sampel

data Lapangan lain yang mungkin dari kombinasi yang ada dengan cara penelusuran

dimulai dari Root menuju ketiga leaf node tersebut.

Contoh :

- Kondisi Rumput = Buruk , Pencahayaan = Bagus, Ukuran Tribun = Besar, maka

Memenuhi = Tidak.

- Kondisi Rumput = Buruk , Pencahayaan = Bagus, Ukuran Tribun = Kecil, maka

Memenuhi = Tidak.

- Kondisi Rumput = Baik , Pencahayaan = Cukup, Ukuran Tribun = Kecil, maka

Memenuhi = Iya.