Jawab : Clustering berbeda dengan Classification. Clustering mengelompokkan data dengan karakteristik yang tidak harus sama (berdasarkan pada kemiripan/kedekatan dari suatu karakteristik data) ke suatu kelompok yang sama (sebelumnya belum terbentuk kelompok data yang pasti). Sedangkan Classification mengklasifikasikan suatu data yang karakteristiknya sama ke dalam kelompok yang sudah ada. (kelompok data sudah tersedia, tidak ada pembentukan kelompok baru). 2. Berikan 2 contoh algoritma untuk Clustering. Jelaskan ! Jawab : Algoritma K-Means Clustering 1. Tentukan jumlah cluster 2. Partisi item menjadi K initial cluster 3. Hitung rata-rata setiap cluster dari data yang tergabung di dalamnya 4. Lakukan proses perhitungan dari daftar item, tandai item untuk kelompok yang mana berdasarkan pusat (mean) yang terdekat (dengan menggunakan distance dapat digunakan Euclidean distance). Hitung kembali pusat centroid untuk item baru yang diterima pada cluster tersebut dari cluster yang kehilangan item. Rumus Ecluidean Distance :
d ( x, y ) = ( x1 y1 ) 2 + ( x2 y2 ) 2 + ... + ( x p y p ) 2
5. Ulangi langkah 3 hingga tidak ada lagi tempat yang akan ditandai sebagai cluster baru.
Item A B C D
Observasi X1 X2 5 3 -1 1 1 -2 -3 -2
Ditanya : Lakukan cluster menjadi 2 kelompok (K = 2). Jawab : 1. 2. 3. K=2 Mempartisi item menjadi K = 2 Menghitung rata-rata setiap cluster Cluster (AB) (CD) 4. Koordinate dari Centroid X1 5 + (1) =2 2 1 + (3) = 1 2
X2 3 +1 =2 2 2 + (2) = 2 2
Melakukan proses perhitungan dari daftar item. Melakukan perhitungan jarak dengan Eclidean dari masing-masing item dari centroid (pusat) cluster dan tandai kembali setiap item berdasarkan kedekatan group. Jika item bergerak dari initial configuration, Centroid (pusat/means) cluster harus diupdate sebelum diproses. Menghitung kuadrat jarak (squared distance) sbb:
d 2 ( A, ( AB)) = (5 2) 2 + (3 2) 2 = 10 d 2 ( A, (CD)) = (5 + 1) 2 + (3 + 2) 2 = 61
A dekat pada cluster (AB) dibandingkan pada cluster (CD), maka tidak perlu ditandai. Perhitungan selanjutnya :
A (BCD)
X1 5 -1
X2 3 -1
Selanjutnya melakukan cek untuk setiap item untuk ditandai kembali. Perhitungan kuadrat jarak (squared distances) diberikan sbb: Cluster A (BCD) Koordinate dari Centroid A B C D 0 40 41 89 52 4 5 5
Karena setiap item yang baru telah ditandai untuk cluster berdasarkan centroid (pusat) terdekat, maka proses telah dihentikan. Sehingga dengan K = 2 cluster maka terbentuk cluster sebagai berikut : A dan (BCD). Algoritma K-Medoids Dalam metode k-medoid ini setiap cluster dipresentasikan dari sebuah objek di dalam cluster yang disebut dengan medoid. Clusternya dibangun dari hasil mencocokkan setiap objek data yang paling dekat dengan cluster yang dianggap sebagai medoid sementara. 1. pilih point k sebagai inisial centroid / nilai tengah (medoids) sebanyak k cluster. 2. cari semua point yang paling dekat dengan medoid, dengan cara menghitung jarak vector antar dokumen. (menggunakan Euclidian distance) 3. secara random, pilih point yang bukan medoid. 4. hitung total distance 5. if TD baru < TD awal, tukar posisi medoid dengan medoids baru, jadilah medoid yang baru. 6. ulangi langkah 2 - 5 sampai medoid tidak berubah. Contoh K-Medoids : X1 X2 X3 X4 X5 X6 X7 2 3 3 4 5 5 7 6 4 8 7 2 4 3
X8 X9 X10 K = 2, c1 (3,4); c2 (7,4) c1 3.4 3.4 3.4 3.4 3.4 3.4 3.4 3.4 C2 7.4 7.4 7.4 7.4 7.4 7.4 7.4 7.4
7 8 7
4 5 6
3. Berikan 2 contoh algoritma untuk Classification. Jelaskan ! Jawab : Nave Bayes Nave Bayes adalah metode klasifikasi yang berdasarkan probabilitas dan teorema Bayesian dengan asumsi bahwa setiap variable bersifat bebas (independence). Contoh Nave Bayes : Diketahui :
Fitur (Kemunculan) menang(2), bola(3), gol(2) partai(3), pemilu(2), capres(4) partai(2), menang(1), tandang(2)
Ditanya : Kategori untuk dokumen3 ? Jawab : 1. Term document matrix yang terbentuk dari data :
bola dokumen1 dokumen2 dokumen3 capres gol menang partai pemilu tandang
3 0 0
0 4 0
2 0 0
2 0 1
0 3 2
0 2 0
0 0 2
adalah jumlah keseluruhan kata pada kategori adalah jumlah keseluruhan kata/fitur yang digunakan dan
Ket : adalah jumlah dokumen yang memiliki kategori adalah jumlah seluruh training dokumen Model probabilistik yang terbentuk : Kategori olahraga politik 3. Menentuan kategori dokumen3 :
bola
capres
Gol
menang
partai
pemilu
tandang
= = p(politik|dokumen3) = p(politik) x p(partai|politik) x p(menang|politik) x p(tandang |politik) = = Karena p(politik|dokumen3) > p(olahraga|dokumen3), maka
kategori dari dokumen3 adalah politik. Decision Tree (Algoritma C4.5) Decision Tree adalah model prediksi menggunakan struktur pohon atau struktur berhirarki. 1. Pilih atribut sebagai akar dengan didasarkan pada nilai gain tertinggi dari atribut-atribut yang ada. Untuk menghitung gain digunakan rumus : (1) Ket : S A N |Si| |S| : Himpunan kasus : Atribut : Jumlah partisi atribut A : Jumlah kasus pada partisi ke i : Jumlah kasus dalam S
Sedangkan perhitungan nilai entropy dapat dilihat pada rumus 2 berikut : (2)
Ket : S p (+) (-) : Himpunan Kasus : Proporsi terhadap S : instance positif : instance negatif
2. Buat cabang untuk masing-masing nilai. 3. Bagi kasus dalam cabang. 4. Ulangi proses untuk masing-masing cabang sampai semua kasus pada cabang memiliki kelas yang sama. Contoh Decision Tree : Diketahui : No. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Outlook Sunny Sunny Cloudy Rainy Rainy Rainy Cloudy Sunny Sunny Rainy Sunny Cloudy Cloudy Rainy Temperature Hot Hot Hot Mild Cool Cool Cool Mild Cool Mild Mild Mild Hot Mild Humidity High High High High Normal Normal Normal High Normal Normal Normal High Normal High Windy False True False False False True True False False False True True False True Play No No Yes Yes Yes Yes Yes No Yes Yes Yes Yes Yes No
Ditanya : Keputusan bermain tenis (Ya / Tidak ) ? Jawab : a. 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 masingmasing atribut. Hasil perhitungan ditunjukkan oleh Tabel 2.
Node 1 TOTAL JUMLAH KASUS (S) 14 NO(S1 ) 4 YES(S 2) 10 ENTROPY 0.863120 569 GAIN
OUTLOO K CLOUD Y RAINY SUNNY TEMPERA TURE COOL HOT MILD HUMIDIT Y HIGH NORM AL WINDY FALSE TRUE 8 6 2 4 6 2 0.811278 124 0.918295 834 7 7 4 0 3 7 0.985228 136 0 4 4 6 0 2 2 4 2 4 0 1 0.918295 834 4 5 5 0 1 3 4 4 2 0 0.721928 095 0.970950 594
0.25852103 7
0.18385092 5
0.37050650 1
0.00597771 1
Baris TOTAL kolom Entropy pada table 2 dihitung dengan rumus 2, sebagai berikut :
Sedangkan nilai Gain pada baris OUTLOOK dihitung dengan menggunakan rumus 1
Sehingga didapat Gain(Total, Outlook) = 0.258521037 Dari hasil pada Tabel 2 dapat diketahui bahwa atribut dengan Gain tertinggi adalah HUMIDITY yaitu sebesar 0.37. Dengan demikian HUMIDITY dapat
menjadi node akar. Ada 2 nilai atribut dari HUMIDITY yaitu HIGH dan NORMAL. Dari kedua nilai atribut tersebut, nilai atribut NORMAL sudah mengklasifikasikan kasus menjadi 1 yaitu keputusan-nya Yes, sehingga tidak perlu dilakukan perhitungan lebih lanjut, tetapi untuk nilai atribut HIGH masih perlu dilakukan perhitungan lagi. Dari hasil tersebut dapat digambarkan pohon keputusan sementara seperti Gambar 2.
b. 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 dan WINDY yang dapat menjadi node akar dari nilai atribut HIGH. Setelah itu lakukan penghitungan Gain untuk masing-masing atribut. Hasil perhitungan ditunjukkan oleh Tabel 3.
Node 1.1 HUMIDIT Y HIGH OUTLOO K CLOUD Y RAINY SUNNY TEMPERA TURE COOL HOT MILD WINDY FALSE 4 2 2 1 0 3 4 0 2 2 0 1 2 0 0.9182958 34 0.9182958 34 0.0202442 07 JUMLA H KASUS (S) 7 NO(S1 ) 4 YES(S 2) 3 ENTROPY 0.9852281 36 0.6995138 6 2 2 3 0 1 3 2 1 0 0 1 0 0.0202420 7 GAIN
TRUE
0.9182958 34
Dari hasil pada Tabel 3 dapat diketahui bahwa atribut dengan Gain tertinggi adalah OUTLOOK yaitu sebesar 0.67. Dengan demikian OUTLOOK dapat menjadi node cabang dari nilai atribut HIGH. Ada 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-nya 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 tahap ini ditunjukkan pada gambar 3.
c. Menghitung jumlah kasus, jumlah kasus untuk keputusan Yes, jumlah kasus untuk keputusan No, dan Entropy dari semua kasus dan kasus yang dibagi berdasarkan atribut TEMPERATURE dan WINDY yang dapat menjadi node cabang dari nilai atribut RAINY. Setelah itu lakukan penghitungan Gain untuk masing-masing atribut. Hasil perhitungan ditunjukkan oleh Tabel 4.
Node 1.1.2 HUMIDITY HIGH DAN OUTLOOK RAINY TEMPERATUR E COOL HOT MILD WINDY FALSE TRUE
NO(S1 )
YES(S 2)
ENTROPY
GAIN
1 0
0 0 2 1 1
0 0 1 0 1
0 1 1 1 0
0 0 1 1 0 0
Dari hasil pada tabel 4 dapat diketahui bahwa atribut dengan Gain tertinggi adalah WINDY yaitu sebesar 1. Dengan demikian WINDY dapat menjadi node cabang dari nilai atribut RAINY. Ada 2 nilai atribut dari WINDY yaitu FALSE dan TRUE. Dari kedua nilai atribut tersebut, nilai atribut FALSE sudah mengklasifikasikan kasus menjadi 1 yaitu keputusan-nya Yes dan nilai atribut TRUE sudah mengklasifikasikan kasus menjadi satu dengan keputusan No, sehingga tidak perlu dilakukan perhitungan lebih lanjut untuk nilai atribut ini.
Dengan memperhatikan pohon keputusan pada Gambar 4, diketahui bahwa semua kasus sudah masuk dalam kelas. Dengan demikian, pohon keputusan pada Gambar 4 merupakan pohon keputusan terakhir yang terbentuk.