Data Mining
“ID3 dan K-means”
Disusun oleh:
I Gede Bagus Ekanyana Nugraha (1304505098)
Gede Eridya Bayu Seyoga (1504505015)
I Made Yudha Arya Dala (1504505040)
PROGRAM STUDI TEKNOLOGI INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS UDAYANA
2018
Algoritma ID3
Tahun 1970 dan awal 1980, J. Ross Quinlan, seorang peneliti dalam
machine learning mengembangkan algoritma decision tree yang dikenal sebagai
ID3 (Iterative Dichotomiser). Algortima ID3 merupakan algortima yang sering
digunakan karena kemudahan dan kefektifannya. Algoritma ID3 membentuk
decision tree dari beberapa data simbolik yang bersifat tetap ataupun historikal
untuk melakukan pembelajaran mengklasifikasikan data tersebut dan memprediksi
klasifikasi data yang baru. Data harus memiliki beberapa atribut dengan nilai yang
berbeda. Selain itu data ini juga harus memiliki beragam standar, class yang diskrit
(misal: Yes/No). Decision tree memilih atribut untuk pengambilan keputusan
dengan menggunakan Information Gain. Algoritma ID3 adalah algoritma decision
tree learning (algoritma pembelajaran pohon keputusan) yang paling dasar.
Algoritma ini melakukan pencarian secara rakus/menyeluruh (greedy) pada semua
kemungkinan pohon keputusan.
Struktur dasar dari ID3 adalah iteratif. Sebuah subset dari training set disebut
window, dipilih secara acak dan dibentuk pohon keputusan. Pohon ini
mengklasifikasikan semua objek pada window, kemudian objek-objek lain pada
training set ini kemudian diklasifikasikan menggunakan pohon tersebut. Jika
pohon tersebut memberikan jawaban yang benar untuk semua objek, maka
dinyatakan benar juga untuk seluruh training set dan selanjutnya seluruh proses
dihentikan. Jika tidak, objek terpilih yang belum terklasifikasikan akan
ditambahkan ke window dan proses berlanjut.
Algoritma ini membentuk pohon keputusan dengan cara pembagian dan menguasai
sampel secara rekursif dari atas ke bawah. Algoritma ID3 dimulai dengan semua
data yang ada sebagai akar dari pohon keputusan. Sebuah atribut yang dipilih akan
menjadi pembagi dari sampel tersebut. Untuk setiap atribut dari cabang yang telah
dibentuk, semua sampel yang memiliki nilai yang sama dengan atribut cabang
akan masuk dalam anggotanya dan dinamakan anak cabang.
Tujuan dari pengukuran nilai Information Gain adalah untuk memilih atribut yang
akan dijadikan cabang pada pembentukan pohon keputusan. Atribut yang memiliki
nilai Information Gain yang tertinggi akan dipilih menjadi atribut uji untuk
dijadikan cabang pohon.
Adapun sample data yang digunakan oleh ID3 memiliki beberapa syarat, yaitu:
1. Deskripsi atribut-nilai. Atribut yang sama harus mendeskripsikan tiap contoh
dan memiliki jumlah nilai yang sudah ditentukan.
2. Kelas yang sudah didefinisikan sebelumnya. Suatu atribut contoh harus sudah
didefinisikan, karena mereka tidak dipelajari oleh ID3.
3. Kelas-kelas yang diskrit. Kelas harus digambarkan dengan jelas. Kelas yang
kontinu dipecah-pecah menjadi kategori-kategori yang relatif, misalnya saja
metal dikategorikan menjadi “hard, quite hard, flexible, soft, quite soft”.
4. Jumlah contoh (example) yang cukup. Karena pembangkitan induktif digunakan,
maka dibutuhkan test case yang cukup untuk membedakan pola yang valid dari
peluang suatu kejadian.
Metode dasar ID3 adalah memilih atribut-atribut untuk klasifikasi dengan
menggunakan metode statistik dimulai dari tree bagian atas. Cara memilih atribut
adalah dengan menggunakan properti statistikal yang disebut dengan Information
Gain, yang didefinisikan untuk menentukan ukuran nilai dari suatu atribut.
Sebelumnya sebuah objek yang diklasifikasikan dalam pohon harus dites nilai
entropinya. Entropy adalah ukuran dari teori informasi yang dapat mengetahui
karakteristik dari impurity dan homogenity dari kumpulan data. Dari nilai entropy
tersebut kemudian dihitung nilai Information Gain (IG) masing-masing atribut.
Nilai entropy didefinisikan sebagai berikut:
Entropi(S) = 0, jika semua contoh pada S berada dalam kelas yang sama.
Entroiy(S) = 1, jika jumlah contoh positif dan jumlah contoh negatif dalam S
adalah sama.
0 < Entropi(S) < 1, jika jumlah contoh positif dan negatif dalam S tidak sama.
Rumus menghitung entropi informasi adalah:
Setelah mendapat nilai entropi, pemilihan atribut dilakukan dengan nilai
information gain terbesar.
Rumus untuk menghitung gain adalah:
Contoh Soal
Data yang telah ada pada Tabel dibawah akan digunakan untuk membentuk
pohon keputusan dimana memiliku atribut-atribut seperti Cuaca, Suhu, Kelembaban,
dan Berangin. Setiap atribut memiliki nilai. Sedangkan kelasnya ada pada kolom
Main yaitu kelas “Tidak” dan kelas “Ya”. Kemudian data tersebut dianalisis; dataset
tersebut memiliki 14 kasus yang terdiri 10 “Ya” dan 4 “Tidak” pada kolom Main.
Dataset
Kemudian hitung entropi dengan rumus seperti diatas.
Entropi (S) = (-(10/14) x log2 (10/14) + (-(4/10) x log2 (4/10)) = 0.863120569
Hasi Perhitungan Entropi
Setelah mendapatkan entropi dari keseluruhan kasus, lakukan analisis pada setiap
atribut dan nilai-nilainya dan hitung entropinya.
analisis atribut, nilai, banyaknya kejadian, entropi dan gain
Setelah mendapatkan nilai entropy, berikutnya hitung nilai information gain dari
setiap variabel.
Gain (Cuaca) = 0.863120569 – ((4/10) x 0 + (5/14) x 0.721928095 + (5/14) x
0.970950594) = 0.258521037
Hitung pula Gain (Suhu), Gain (Kelembaban), dan Gain (Berangin). Karena nilai
gain terbesar adalah Gain (Kelembaban), maka atribut “Kelembaban” menjadi
node akar (root node).
Kemudian pada “Kelembaban” normal, memiliki 7 kasus dan semuanya memiliki
jawaban Ya (Sum(Total) / Sum(Ya) = 7/7 = 1). Dengan demikian “Kelembaban”
normal menjadi daun atau leaf.
pohon keputusan node 1 (root node)
Berdasarkan pembentukan pohon keputusan node 1 (root node), Node 1.1 akan
dianalisis lebih lanjut. Untuk mempermudah, Tabel dibawah difilter, dengan
mengambil data yang memiliki “Kelembaban” = Tinggi.
Atribut data kelembaban = Tinggi
Kemudian dihitung nilai entropi atribut “Kelembaban” Tinggi dan entropi setiap
atribut serta gainnya. Setelah itu tentukan pilih atribut yang memiliki gain tertinggi
untuk dibuatkan node berikutnya.
hasil analisis node 1.1
Gain tertinggi yang didapat ada pada atribut “Cuaca”, dan Nilai yang dijadikan daun
atau leaf adalah Berawan dan Cerah. Jika divualisasi maka pohon keputusan tampak
seperti Gambar dibawah.
pohon keputusan analisis node 1.1
Untuk menganalisis node 1.1.2, lakukan lagi langkah-langkah yang sama seperti
sebelumnya hingga semua node beberntuk node leaf.
hasil analisis node 1.1.2.
Pohon Keputusan Akhir
K-Means
Algoritma K-Means merupakan algoritma clustering iteratif sederhana di
mana semua partisi dataset yang diberikan menjadi beberapa cluster tertentu.
Algoritma ini sederhana dan relatif cepat, mudah beradaptasi, serta umum
diterapkan. Algoritma K-Means merupakan sejarah salah satu algoritma yang
paling penting dalam data mining.
Algoritma k-means dimulai dengan pembentukan prototipe cluster di awal
kemudian secara iteratif prototipe cluster ini diperbaiki hingga konvergen (tidak
terjadi perubahan yang signifikan pada prototipe cluster). Perubahan ini diukur
menggunakan fungsi objektif J yang umumnya didefinisikan sebagai jumlah atau
rata-rata jarak tiap item data dengan pusat massa kelompoknya.
Algoritma K-Means
1. Inisialisasi nilai J (misal MAXINT)
2. Tentukan prototipe cluster awal (bisa secara acak ataupun dipilih salah satu
secara acak dari koleksi data)
3. Masukkan tiap satuan data ke dalam kelompok yang jarak dengan pusat massa-
nya paling dekat
4. Ubah nilai pusat massa tiap cluster sebagai rata-rata (mean) dari seluruh
anggota kelompok tersebut
5. Hitung fungsi objektif J
6. jika nilai J sama dengan sebelumnya, berhenti atau ulangi langkah 3.
Algoritma k-means clustering walaupun proses pengerjaannya cepat tetapi
keakuratannya tidak dijamin. Seringkali algoritma ini mengalami konvergensi
prematur. Pada algoritma ini juga tidak dijamin jarak antara masing-masing
centroid tidak merentang sehingga jika ada dua atau lebih kelompok dengan titik
pusat massa yang berdekatan atau terdapat kelompok yang tidak memiliki anggota
maka hasilnya akan tidak memuaskan.
Contoh Perhitungan
Diberikan data Body Mass Index (BMI) dan ukuran kerangka 20 orang
mahasiswa sebagai berikut:
Tabel Data BMI
Mhs ke- BMI Ukuran Kerangka
1 22,21 11.64
2 43,25 8.95
3 19,71 10.93
4 21,05 10.38
5 17,93 12.85
6 17,72 12.00
7 18,71 11.53
8 25,86 9.33
9 19,15 11.80
10 18,42 11.20
11 22,94 10.60
12 26,89 10.44
13 24,91 10.63
14 22,99 11.47
15 26,81 9.17
16 19,14 12.11
17 21,09 10.67
18 18,71 12.36
19 20,58 10.80
20 27,66 9.94
Kelompokkan data tersebut menjadi 3 kelompok.
Langkah 1
Tentukan pusat cluster secara acak. Disini kita tentukan kita
tentukan c1 = (20,9); c2 = (23,10); dan c3 = (27,11).
Langkah 2
Hitung jarak setiap data yang ada terhadap setiap pusat cluster.
Sebagai contoh untuk menghitung jarak data mahasiswa pertama dengan
pusat cluster pertama adalah :
Jarak data mahasiswa pertama dengan pusat cluster kedua
Jarak data mahasiswa pertama dengan pusat cluster ketiga :
Hasil perhitungan selengkapnya pada tabel berikut :
Tabel Perhitungan Data Terhadap Masing-masing Cluster
Mhs Uk.
BMI C1 C2 C3
ke- Rangka
1 22,21 11.64 4,97 2,04 1,91
2 43,25 8.95 25,25 22,28 19,36
3 19,71 10.93 2,58 1,60 4,29
4 21,05 10.38 3,34 0,38 3,02
5 17,93 12.85 3,85 4,19 6,35
6 17,72 12.00 3,01 3,85 6,36
7 18,71 11.53 2,63 2,76 5,32
8 25,86 9.33 7,87 4,91 2,50
9 19,15 11.80 3,03 2,58 4,91
10 18,42 11.20 2,24 2,84 5,58
11 22,94 10.60 5,19 2,03 1,13
12 26,89 10.44 9,01 5,91 2,95
13 24,91 10.63 7,10 3,96 0,99
14 22,99 11.47 5,56 2,47 1,12
15 26,81 9.17 8,82 5,87 3,36
16 19,14 12.11 3,31 2,81 4,98
17 21,09 10.67 3,51 0,67 2,93
18 18,71 12.36 3,43 3,29 5,46
19 20,58 10.80 3,14 0,91 3,43
20 27,66 9.94 9,71 6,66 3,81
Langkah 3
Tentukan cluster dengan jarak terdekat pada masing-masing data. Sebagai
contoh, pada data pertama dan kedua, cluster dengan jarak terdekat adalah cluster
ketiga (C3). Untuk lengkapnya dapat dilihat pada tabel berikut.
Tabel Hasil Iterasi 1
Mhs Uk.
BMI C1 C2 C3
ke- Rangka
1 22,21 11.64 *
2 43,25 8.95 *
3 19,71 10.93 *
4 21,05 10.38 *
5 17,93 12.85 *
6 17,72 12.00 *
7 18,71 11.53 *
8 25,86 9.33 *
9 19,15 11.80 *
10 18,42 11.20 *
11 22,94 10.60 *
12 26,89 10.44 *
13 24,91 10.63 *
14 22,99 11.47 *
15 26,81 9.17 *
16 19,14 12.11 *
17 21,09 10.67 *
18 18,71 12.36 *
19 20,58 10.80 *
20 27,66 9.94 *
Langkah 4 :
Hitung pusat cluster baru. Untuk cluster pertama, ada 4 data yaitu data ke-5,
6, 7 dan data ke-10, sehingga:
C11 = (17,93+17,72+18,71+18,42) / 4 = 18,19
C12 = (12,85+12,00+11,53+11,20) / 4 = 11,89
Untuk cluster kedua, ada 7 data yaitu data ke-3, 4, 9, 16, 17, 18 dan data ke-
19, sehingga:
C21 = (19,71+21,05+19,15+19,14+21,09+18,71+20,58) / 7 = 19,92
C22 = (10,93+10,38+11,8+12,11+10,67+12,36+10,8) / 7 = 11,29
Untuk cluster ketiga, ada 9 data yaitu data ke-1, 2, 8, 11, 12, 13, 14, 15 dan
data ke-20, sehingga
C31 = (22,21+43,25+25,86+22,94+26,89+24,91+22,99+26,81+27,66) / 9 = 27,06
C32 = (11,64+8,95+9,33+10,6+10,44+10,63+11,47+9,17+9,94) / 9 = 10,24
Langkah 5
Ulangi langkah 2, 3 dan 4 hingga posisi data terhadap cluster sudah tidak
mengalami perubahan.
Tabel Hasil Iterasi 2
Mh Uk.
s BMI Rangk C1 C2 C3
ke- a
22,2
1 11.64 *
1
43,2
2 8.95 *
5
19,7
3 10.93 *
1
21,0
4 10.38 *
5
17,9
5 12.85 *
3
17,7
6 12.00 *
2
18,7
7 11.53 *
1
25,8
8 9.33 *
6
19,1
9 11.80 *
5
18,4
10 11.20 *
2
22,9
11 10.60 *
4
26,8
12 10.44 *
9
24,9
13 10.63 *
1
22,9
14 11.47 *
9
26,8
15 9.17 *
1
19,1
16 12.11 *
4
21,0
17 10.67 *
9
18,7
18 12.36 *
1
20,5
19 10.80 *
8
20 27,6 9.94 *
6
Tabel Hasil Iterasi 3
Mhs Uk.
BMI C1 C2 C3
ke- Rangka
1 22,21 11.64 *
2 43,25 8.95 *
3 19,71 10.93 *
4 21,05 10.38 *
5 17,93 12.85 *
6 17,72 12 *
7 18,71 11.53 *
8 25,86 9.33 *
9 19,15 11.8 *
10 18,42 11.2 *
11 22,94 10.6 *
12 26,89 10.44 *
13 24,91 10.63 *
14 22,99 11.47 *
15 26,81 9.17 *
16 19,14 12.11 *
17 21,09 10.67 *
18 18,71 12.36 *
19 20,58 10.8 *
20 27,66 9.94 *
Tabel Hasil Iterasi 8
Mh Uk. C C C
s BMI Rangk 1 2 3
ke- a
1 22,2 *
1 11.64
2 43,2 *
5 8.95
3 19,7 *
1 10.93
4 21,0 *
5 10.38
5 17,9 *
3 12.85
6 17,7 *
2 12
7 18,7 *
1 11.53
8 25,8 *
6 9.33
9 19,1 *
5 11.8
10 18,4 *
2 11.2
11 22,9 *
4 10.6
12 26,8 *
9 10.44
13 24,9 *
1 10.63
14 22,9 *
9 11.47
15 26,8 *
1 9.17
16 19,1 *
4 12.11
17 21,0 *
9 10.67
18 18,7 *
1 12.36
19 20,5 *
8 10.8
20 27,6 *
6 9.94
Tabel Hasil Iterasi 9
Mh Uk.
s BMI Rangk C1 C2 C3
ke- a
1 22,2 11.64 *
1
43,2
2 8.95 *
5
19,7
3 10.93 *
1
21,0
4 10.38 *
5
17,9
5 12.85 *
3
17,7
6 12 *
2
18,7
7 11.53 *
1
25,8
8 9.33 *
6
19,1
9 11.8 *
5
18,4
10 11.2 *
2
22,9
11 10.6 *
4
26,8
12 10.44 *
9
24,9
13 10.63 *
1
22,9
14 11.47 *
9
26,8
15 9.17 *
1
19,1
16 12.11 *
4
21,0
17 10.67 *
9
18,7
18 12.36 *
1
20,5
19 10.8 *
8
27,6
20 9.94 *
6
Langkah 6 :
Karena pada iterasi ke-8 dan ke-9 posisi cluster tidak berubah, maka iterasi dihentikan dan
hasil akhir yang diperoleh adalah 3 cluster :
a. Cluster pertama memiliki pusat (19,53; 11,52)
b. Cluster kedua memiliki pusat (25,44; 10,22)
c. Cluster ketiga memiliki pusat (43,25; 8,95)