Analisis Klaster
S1 Teknik InformatikaFakultas Teknologi Informasi Universitas Kristen Maranatha
1
Agenda
• Klastering
• Persyaratan untuk Klastering
• Tipe data dalam analisis klaster
• Variabel skala Interval
• Variabel biner
• Variabel nominal
• Variabel ordinal
• Variabel skala rasio • Klastering mempartisi
Klastering
• Klaster:
• Kumpulan objek yang sejenis / berkarakter sama dalam 1 klaster
• Kumpulan objek tidak sejenis/berbeda dalam klaster lainnya.
• Analisis klaster
• Menemukan kemiripan antar data berdasarkan karakteristik yang ditemukan pada data, kemudian mengelompokkan data objek yang mirip ke dalam klaster
• Unsupervised learning: tidak ada class yang ditentukan
sebelumnya
3
Klastering
• Contoh penerapan umum :
• Bisnis : Menemukan kelompok konsumen dan target pemasaran.
• Biologi : menurunkan taksonomi tanaman dan hewan, mengkategorikan gen
• Web : mengklasifikasikan dokumen untuk information retrieval
• Dapat sebagai proses awal untuk algoritma lain seperti misalnya karakterisasi atau klasifikasi
Kualitas: Klastering yang Baik?
• Metoda klastering yang baik menghasilkan klaster berkualitas tinggi:
• Kesamaan intra-class yang tinggi
• Kesamaan inter-class yang rendah
• Kualitas hasil klastering bergantung pada ukuran kemiripan yang dipakai dan implementasinya
• Kualitas klastering diukur juga dengan kemampuan untuk menemukan pola tersembunyi
5
Struktur Data dalam Analisis Klaster
• Matriks data (obyek oleh struktur variabel)
Matriks Data
• Menyatakan n object,
misal orang, dengan p variable (= pengukuran atau atribut) mis. umur, tinggi, berat, gender, ras, dll.
• Strukturnya dapat dlm
bentuk tabel relasional ataupun matriks n x p np x ... nf x ... n1 x ... ... ... ... ... ip x ... if x ... i1 x ... ... ... ... ... 1p x ... 1f x ... 11 x 7
Matriks Ketidaksamaan
• Menyimpan sekumpulan kedekatan yang tersedia untuk seluruh pasangan n object.• Direpresentasikan dalam bentuk tabel nxn, dimana d(i,j) adalah perbedaan atau
ketidaksamaan antara
obyek i dan j. Semakin dekat d(i,j) dengan 0, berarti obyek i dan j semakin dekat. 0 d(2,1) 0 d(3,1) d(3,2) 0 : : : : : : d(n,1) d(n,2) . . . 0
Tipe data dalam Analisis Klaster
• Variabel skala interval
• Variabel biner
• Variabel nominal
• Variabel ordinal
• Variabel skala rasio
• Kombinasi tipe-tipe di atas.
9
Variabel Skala Interval
• Adalah pengukuran kontinyu untuk skala yang
hampir linier.
• Mis. Berat & tinggi, koordinat lintang dan bujur
(untuk mengklaster rumah), dan temperatur udara.
• Perubahan satuan dapat mempengaruhi analisis
kaster, mis. Dari meter inch
• Semakin kecil satuan ukurannya, kisaran variable
akan semakin besar, mengubah struktur klastering data perlu distandarkan
Variabel Skala Inteval
Menstandarkan data : data ukuran diubah ke variabel yang tidak ada satuannya (tanpa unit) dengan cara : 1. Menghitung mean absolute deviation, sf:
sf= 1/n(|x1f-mf| + |x2f-mf| + …+|xnf-mf|)
x1f , …, xnf: n pengukuran untuk variabel f. mf: nilai rata-rata variabel f.
2. Menghitung standardized-measurement/ z-score :
11
xif– mf Zif=
sf
Variabel Skala Interval
• Ketidaksamaan dalam variabel skala interval
dihitung berdasar jarak (distance) antara tiap pasang obyek.
• Beberapa pengukuran distance :
• Jarak Euclidean • Jarak Manhattan • Jarak Minkowski
Jarak Euclidean
• i = (xi1,xi2,…,xip)
• j= (xj1,xj2,…,xjp)
• i dan j adalah dua p-dimensional data obyek
13
d(i,j) = |xi1– xj1|2+ |x
i2– xj2|2+ …+ |xip– xjp|2
Jarak Manhattan/ jarak blok kota
• i = (xi1,xi2,…,xip)
• j= (xj1,xj2,…,xjp)
• i dan j adalah dua p-dimensional data obyek
Jarak Minkowski
• Merupakan generalisasi jarak Euclidean dan
Manhattan.
15
d(i,j) = (|xi1– xj1|q+ |x
i2– xj2|q+ …+ |xip– xjp|q)1/q
• q : integer positif.
• Menyatakan jarak Manhattan jika q = 1
• Menyatakan jarak Euclidean jika q = 2
Jarak Euclidean Berbobot
• Tiap variabel dapat diberi bobot sesuai tingkat
kepentingannya. Jarak Euclidean-nya dapat dihitung sbb :
d(i,j) = w1|xi1– xj1|2+ w
2|xi2– xj2|2+ …+ wp|xip– xjp|2
• Pembobotan juga dapat diaplikasikan pada
jarak Manhattan dan Minkowski
Variabel Biner
• Merupakan variabel yang memiliki 2 kondisi, yaitu 0
dan 1.
• 0 = tidak ada, 1 = ada
• Misal, pada obyek pasien, terdapat variable
perokok. 1 = pasien perokok, 0 = pasien bukan perokok.
• Variabel biner jika diperlakukan seperti
interval-scale variable hasil klaster salah.
17
Variabel Biner
• Menghitung
ketidaksamaan:
• Matrik ketidaksamaan
untuk variabel biner yang berbobot sama.
object j 1 0 jml object i 1 q r q+r 0 s t s+t jml q+s r+t p
Variabel Biner
• Variabel Biner Simetris:
• Kedua kondisinya bernilai dan berbobot sama. Misal, variabel jenis kelamin.
• Kesamaan yang invarian: hasil tdk berubah variabel dikodekan secara berbeda.
19
r+s d(i,j) =
---q+r+s+t
Variabel Biner
• Variabel Biner Asimetris :
• Jika hasil state tidak sama tingkat kepentingannya.
• Mis. Hasil test penyakit, positif/negatif. Hanya diambil hasil yang paling penting saja (biasanya yg terjarang) dan dikodekan sebagai 1 (ex. Positif HIV), sedang yg lain 0 (ex. Negatif HIV). Dengan 2 variabel, 2 buah kondisi 1 lebih penting dari 2 buah kondisi 0, sehingga seringkali disebut monary (seperti hanya memiliki 1 kondisi).
• Kesamaan non-varian.
• Menggunakan koefisien Jaccard, yaitu nilai t diabaikan.
r+s d(i,j) =
Variabel Biner
name gender fever cough test-1 test-2 test-3 test-4
Jack M Y N P N N N Mary F Y N P N P N Jim M Y Y N N N N : : : : : : : : : : : : : : : : 21 • Object-id : name
• Atribut simetris: gender
• Atribut asimetris: atribut lainnya
– Y dan P 1, N 0
– Jarak antar obyek dihitung berdasar variabel asimetris.
Variabel Biner
• Jarak jim dan mary
paling besar, dalam kasus ini berarti
penyakitnya paling tidak sama.
• Jack dan mary
sebaliknya. 0+1 d(jack,mary) = --- = 0.33 2+0+1 1+1 d(jack,jim) = --- = 0.67 1+1+1 1+2 d(jim,mary) = --- = 0.75 1+1+2
Variabel Nominal
• Adalah generalisasi variabel biner dalam hal
variable ini dapat menampung lebih dari 2 kondisi.
• Misal, variabel warna_peta mempunyai 5 kondisi
merah, hijau, biru, kuning, hitam.
• Kondisi dinyatakan dalam huruf, simbol, atau
integer 1,2,…,M. Integer hanya untuk penunjuk data, tidak menunjukkan urutan tertentu.
23
Variabel Nominal
• Menghitung ketidaksamaan untuk variabel nominal : p-m
d(i,j) = ---p
• m adalah banyaknya i dan j yang kondisinya sama. • p adalah jumlah seluruh variabel.
• Dapat dikodekan ke variabel biner asimetris.
• Misal, obyek yang mempunyai warna kuning diset 1, sedangkan warna lainnya 0, dst untuk masing-masing warna.
• Koefisien ketidaksamaan dihitung dengan cara yang sama dengan variabel biner.
Variabel Ordinal
• Variabel ordinal diskrit: seperti variabel nominal, hanya saja kondisi M yang bernilai ordinal
diurutkan dalam urutan yang mempunyai arti. • Variabel ordinal kontinyu: sekumpulan data yang
kontinyu dari suatu skala yang tidak diketahui. Yang penting adalah urutannya, bukan bobot / pengaruh/tingkat kepentingan urutan tersebut. • Misal, rangking emas, perak, perunggu.
Urutannya lebih penting daripada nilai ukuran sesungguhnya.
25
Variabel Ordinal
• Nilai ordinal variable dapat dipetakan ke
ranking.
• Jika terdapat ordinal variable f yang
mempunyai kondisi Mf , kondisi yang terurut menentukan ranking 1, …, Mf.
• Menghitung ketidaksamaan antar obyeknya
Variabel Ordinal
Misalkan f adalah variabel dari sehimpunan variabel ordinal yang menjelaskan obyek n.
1. Nilai f untuk obyek ke-i adalah xif, dan f mempunyai kondisi Mf yang terurut yang menyatakan ranking 1, …, Mf. Gantikan tiap xif
dengan ranking yang bersangkutan, rifЄ {1, …, Mf}.
2. Tiap variabel ordinal apat mempunyai bbrp kondisi yg berbeda kisaran variabel
dipetakan ke [0.0 , 1.0] supaya bobotnya sama. rifdari obyek e-i dalam variabel ke-f
diganti dengan zif
27
Variabel Ordinal
3. Ketidaksamaan dihitung menggunakan berbagai
rumus jarak yang ada pada variabel skala interval,
menggunakan zifuntuk menyatakan nilai f untuk
obyek ke-i.
rif– 1 Zif=
Variabel Skala Rasio
• Membuat pengukuran yang positif pada skala
nonlinier, misal pada skala eksponensial yang
menggunakan rumus : AeBtatau Ae-Bt. A dan B
adalah konstanta positif.
• Contoh: pertumbuhan populasi bakteri.
29
Variabel Skala Rasio
• Menghitung ketidaksamaan:
• Variable diperlakukan seperti variabel skala interval. Dapat mengakibatkan distorsi skala.
• Melakukan transformasi logaritmis pada variabel skala rasio f yang mempunyai nilai xifuntuk object
i dengan rumus yif= log(xif), kemudian yif
diperlakukan sebagai nilai variabel skala interval
• Memperlakukan xifsebagai data ordinal kontinyu
dan memperlakukan rankingnya sebagai nilai variabel skala interval.
Variable bertipe campuran
• Menghitung ketidaksamaan antar obyek
bertipe variable campuran :
• Mengelompokkan menurut jenis variabel, lalu
melakukan analisis klaster secara terpisah untuk tiap jenis variabel. Memungkinkan jika analisis dapat menurunkan hasil yang kompatibel.
• Memproses seluruh tipe variabel bersama-sama, melakukan 1 analisis klaster, misalnya dengan membentuk 1 matriks ketidaksamaan dengan skala interval [0.0,1.0]
31
Menghitung matriks ketidaksamaan pada
variabel campuran
• = 0 jika
• xifatau xjftidak ada, atau
• Xif = xjf = 0 dan variable f adalah asymmetric binary.
• Jika tidak, maka = 1.
) ( f ij δ ) ( f ij δ
∑
∑
= = = p f f ij p f f ij f ij d j i d 1 ) ( 1 ) ( ) ( ) , ( δ δMenghitung matriks ketidaksamaan pada
variabel campuran
• Kontribusi variable f terhadap dissimilarity antara i dan j, ,dihitung tergantung dari tipenya :
• Jika f adalah biner atau nominal :
• = 0 jika xif = xjf. Jika tidak, = 1.
• Jika f adalah berbasis interval :
• dengan h adalah seluruh yang tidak hilang
untuk variable f.
• Jika f adalah ordinal atau berbasis rasio :
• Hitung ranking rifdan , dan zifdiperlakukan sebagai interval-scaled 33 ) ( f ij δ ) ( f ij δ ) ( f ij δ x x x x d hf h hf h jf if f ij min max | | ) ( − − = 1 1 − − = M r z f if if
Tipe – tipe Klastering
• Klastering Partisional
• Pembagian dari obyek – obyek data ke dalam subset / klaster yang tidak tumpang tindih dimana setiap obyek persis menempati sebuah subset / klaster
• Klastering Hirarkikal
• Kumpulan dari klaster – klaster yang bertumpuk sebagai pohon hirarki
Original Points A Partitional Clustering
Hierarchical Clustering
p4 p1 p3 p2 p4 p1 p3 p2 p4 p1 p2 p3 p4 p1 p2 p3 Traditional Hierarchical Clustering Non-traditional HierarchicalClustering Non-traditional Dendrogram Traditional Dendrogram
Metode Mempartisi
• Metode mempartisi:
• Jika terdapat k partisi yang akan dibuat, metode ini membuat partisi awal.
• Kemudian digunakan teknik relokasi secara iteratif untuk memperbaiki partisi dengan memindahkan object dari satu grup ke grup lain.
• Algoritma umum :
1. K-means
Tiap cluster dinyatakan berdasar nilai mean obyek di dalam klaster.
2. K-medoids
Tiap klaster dinyatakan berdasar satu obyek yang lokasinya berdekatan dengan inti klaster.
37
Metode Klastering K-Means
• Algoritma K-means diimplementasikan sbb:
1. Partisi objek ke dalam k himpunan yg tidak kosong
2. Hitung jarak setiap objek ke centroid dari klaster setiap
partisi (centroid : titik pusat, mis. mean point)
3. Tempatkan setiap objek ke dalam klaster berdasarkan
jarak terdekat (jarak minimum)
4. Kembali ke langkah 2, berhenti jika tidak ada perubahan
Metode Klastering K-Means
39 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 K=2Secara acak memilih obyek K sebagai pusat klaster awal
Tempat kan setiap obyek ke pusat yang paling mirip Perbarui mean dari klaster Perbarui mean klaster Penempatan Ulang Penempatan Ulang
Klastering Hirarkikal
• Menghasilkan sebuah set dari klaster – klaster
bertumpuk (nested) yang diorganisasi sebagai pohon hirarki
• Dapat di visualisasikan dalam sebuah
dendogram
• Sebuah diagram seperti pohon yang merekam urutan penggabungan dan pemisahan
0.05 0.1 0.15 0.2 1 2 3 4 5 6 1 2 3 4 5
Metode Hirarkikal
• Metode Hirarkikal
• Membuat dekomposisi secara hirarkis dari suatu himpunan data object.
• Dapat terbagi menjadi :
• Aglomerative (bottom-up)
• Divisive (top-down)
41
Klastering Hirarkikal
• Memakai matriks jarak sbg kriteria klastering.
Metoda ini tdk perlu jumlah klaster k sebagai input, tapi perlu kondisi terminasi.
Step 0 Step 1 Step 2 Step 3 Step 4
b d c e a a b d e c d e a b c d e
Step 4 Step 3 Step 2 Step 1 Step 0
agglomerative (AGNES)
divisive (DIANA)
AGNES (AGglomerative NESting)
• Sering disebut pendekatan bottom-up.
• Mulai dari tiap obyek yang terdapat dalam
grup tertentu, kemudian obyek / grup obyek yang berdekatan bergabung, sampai seluruh grup bergabung menjadi satu (level teratas hirarki), atau sampai terjadi kondisi terminasi.
43
Algoritma Agglomerative Clustering
• Teknik klastering hirarkikal yang lebih populer • Algoritma dasar
1. Compute the proximity matrix
2. Let each data point be a cluster
3. Repeat
4. Merge the two closest clusters
5. Update the proximity matrix
6. Untilonly a single cluster remains
• Operasi kunci adalah komputasi dari kedekatan dari dua klaster
• Pendekatan – pendekatan yang berbeda dalam mendefinisikan jarak antara klaster yang membedakan algoritma – algoritma yang berbeda
Situasi Awal
• Dimulai dengan klaster dari setiap poin dan sebuah
matriks kedekatan p1 p3 p5 p4 p2 p1 p2 p3 p4 p5 . . . . . . Proximity Matrix
Situassi Intermediate
• Setelah beberapa langkah penggabungan, kita memilik beberapa
klaster C1 C4 C2 C5 C3 C2 C1 C1 C3 C5 C4 C2 C3 C4 C5 Proximity Matrix
Situasi Intermediate
• Kita ingin menggabungkan dua klaster terdekat (C2 and C5) dan memperbarui matriks kedekatan.
C1 C4 C2 C5 C3 C2 C1 C1 C3 C5 C4 C2 C3 C4 C5 Proximity Matrix
DIANA (DIvisive ANAlysis)
• Sering disebut pendekatan top-down.
• Mulai dari seluruh obyek di klaster yang sama,
kemudian klaster dipisahkan menjadi klaster – klaster yang lebih kecil, sampai akhirnya tiap obyek ada di satu klaster, atau sampai terjadi kondisi terminasi.