yudi@upi.edu
19 des 08
Contoh
Cluster Analysis?
• Cluster: kumpulan objek data
– Anggota cluster yang sama memiliki kemiripan satu sama lain, tetapi
berbeda dengan anggota cluster lain.
• Cluster analysis
– Menemukan kemiripan data berdasarkan karakteristik dan
mengelompokan data yang mirip ke dalam cluster.
• Unsupervised learning: class tidak ditentukan sebelumnya
• Penggunaan
– Tool untuk melihat distribusi data
– Preprocessing untuk langkah berikutnya
Aplikasi Cluster Analysis
• Pengenalan Pola
• Spatial Data Analysis
– Cluster spatial
• Pemrosesan gambar
• Economic Science (terutama market research)
• WWW
– Berita, hasil pencarian
– Cluster Weblog data to discover groups of similar access
patterns
Aplikasi clustering (lanj)
• Marketing: Membantu pihak pemasaran untuk menentukan
grup khusus dan membuat program khusus untuk grup ini.
• Land use: Identifikasi area yang digunakan untuk hal yang
sama.
• Asuransi: Identifikasi grup yang memiliki tingkat claim yang
tinggi.
• Tata kota: Identifikasi rumah-rumah berdasrkan tipe, harga
dan lokasi.
Cluster yang berkualitas:
• Metode yang bagus akan menghasilkan:
– intra-class similarity yang tinggi (anggota di dalam kelas yang
sama mirip)
– low inter-class similarity (anggota di kelas yang lain, jauh
berbeda)
0
• Dissimilarity matrix d(2,1) 0
– (one mode) d(3,1 ) d ( 3,2) 0
: : :
d ( n,1) d ( n,2) ... ... 0
Tipe data dalam clustering
• Interval-scaled variables
• Binary variables ada atau tidak
• Nominal, ordinal, and ratio variables
• Campuran
Interval Variable
• Standardize data
– Hitung mean absolute deviation:
s f = 1n (| x1 f − m f | + | x2 f − m f | +...+ | xnf − m f |)
d (i, j) = q (| x − x |q + | x − x |q +...+ | x − x |q )
i1 j1 i2 j2 ip jp
q : integer positif
• If q = 1, d is Manhattan distance
d (i, j) =| x − x | + | x − x | +...+ | x − x |
i1 j1 i2 j 2 ip jp
Interval Variable (lanj)
• Jika q = 2, d adalah Euclidean distance:
d (i, j) = (| x − x |2 + | x − x |2 +...+ | x − x | 2 )
i1 j1 i2 j2 ip jp
– Properties
• d(i,j) ≥ 0
• d(i,i) = 0
• d(i,j) = d(j,i)
• d(i,j) ≤ d(i,k) + d(k,j)
• d (i, j) = b +c
Jarak untuk symmetric binary
a +b +c +d
variables:
• Jarak untuk asymmetric binary d (i, j) = b +c
variables: a +b +c
• Jaccard coefficient (similarity
measure untuk asymmetric sim Jaccard (i, j) = a
binary variables): a +b +c
Contoh
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 P N N N N
d (i, j ) = p − m
• p variables
Method 2: banyak binary
– Buat binary variable sebanyak states
Ordinal
• Dapat discrete atau continuous
• Urutan penting: misalnya rank
• Dapat diperlakukan sebagai interval-scaled
– ganti xif dengan peringkat rif ∈{1,..., M f }
Σ pf = 1δ ij( f ) dij( f )
d (i, j) =
Σ pf = 1δ ij( f )
Pendekatan Clustering
• Partisi :
– Buat partisi dan evaluasi berdasarkan kriteria tertentu, misalnya
meminimalkan sum of square errors
– Metode: k-means, k-medoids, CLARANS
• Hirarkis:
– Buat struktur hierarchical menggunakan kriteria tertentu
– Metode: Diana, Agnes, BIRCH, ROCK, CAMELEON
• Density-based :
– Berdasarkan connectivity dan density functions
– Metode: DBSACN, OPTICS, DenClue
• Yang lain: Grid-based approach, model-based, frequent pattern-based, user-
guided or constraint-based:
Jarak antar cluster
• Single link: jarak terpendek antar elemen di dua cluster dis(Ki, Kj) =
min(tip , tjq )
10
10
10 9
9
9 8
8
8 7
6 7
7
5 6
6
4 5
5 3
4
4
Assign
2
Update 3
3 1
2 each 0 the 2
cluster
0 1 2 3 4 5 6 7 8 9 10
1
1
objects 0
0
0 1 2 3 4 5 6 7 8 9 10 to means 0 1 2 3 4 5 6 7 8 9 10
most
similar reassign reassign
center 10 10
K=2
9 9
8 8
7 7
Arbitrarily choose 6 6
K object as initial
5 5
4 4
cluster center 3
2
Update 3
1 the 1
cluster
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
means
K-Medoids
• Kelemahan utama centroid jika ada
outlier posisi centroid akan terpengaruhi.
• Centroid diganti Modoids salah satu
data dipilih sebagai titik tengah
Contoh K-Metoid (PAM)
10 10
10
9 9
9
8 8
8
7 7
7
Arbitrar Assign
6 6
6 5 5
5
y 4 each 4
4 choose 3
remaini 3
2 2
3
k object 1
ng 1
2
as 0
0 1 2 3 4 5 6 7 8 9 10
object 0
0 1 2 3 4 5 6 7 8 9 10
initial to
1
0
0 1 2 3 4 5 6 7 8 9 10
medoid nearest
s medoid
K=2 s Randomly select a
Total Cost = 26 nonmedoid
object,Oramdom
10 10
Do loop 9
8 Compute
9
8
Swapping 7 total cost 7
Until no O and 6
of 6
Oramdom
change
5 5
4
swapping 4
If quality is 3
2
3
improved. 1 1
0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10