Clustering
[email protected] 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)
• Kualitas cluter bergantung kepada ukuran kemiripan yang digunakan oleh metode clustering. • Kualitas juga ditentukan sejauh mana clustering dapat menemukan pola tersembunyi.
Ukuran Kesamaan • Kesamaan/kemiripan diukur berdasarkan fungsi jarak, d(i, j) • Definisi distance functions bisanya sangat berbeda untuk interval-scaled, boolean, categorical, ordinal ratio, and vector variables. • Bobot diasosiasikan dengan aplikasi dan arti data. • Sulit untuk mendefinsikan “cukup sama ” or “cukup bagus” karena subyektif.
Requirement Clustering • Scalability untuk data dalam jumlah besar • Menangani berbagai macam tipe atribut. • clusters dengan berbagai bentuk. • Sesedikit mungkin parameter • Meanangani noise dan outliers • Tidak peduli urutan input record • High dimensionality banyak atribut • Incorporation of user-specified constraints • Interpretability and usability
Struktur Data • Data matrix – (two modes)
• Dissimilarity matrix – (one mode)
x11 ... x i1 ... x n1
...
x1f
...
... ...
... xif
... ...
... ...
...
... ...
xnf
0 d(2,1) 0 d(3,1 ) d ( 3,2) 0 : : : d ( n,1) d ( n,2) ...
x1p ... xip ... xnp
... 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 |)
dimana
m f = 1n (x1 f + x2 f
+ ... +
xnf )
.
– Hitung standardized measurement (z-score) xif − m f zif = sf
Interval Variable (lanj) • similarity atau dissimilarity antar dua objek: jarak kedua objek • Yang populer: Minkowski distance:
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)
• Cara lain: weighted distance, parametric Pearson product moment correlation
Variabel Binary Object j
•
A contingency table Object i
1
0
sum
1
a
b
a +b
0
c
d
c+d
sum a + c b + d •
Jarak untuk symmetric binary variables:
•
Jarak untuk asymmetric binary variables:
•
Jaccard coefficient (similarity measure untuk asymmetric binary variables):
d (i, j) =
p
b +c a +b +c +d
d (i, j) =
b +c a +b +c
sim Jaccard (i, j) =
a a +b +c
Contoh Name Jack Mary Jim
Gender M F M
Fever Y Y Y
Cough N N P
Test-1 P P N
Test-2 N N N
Test-3 N P N
•gender is a symmetric attribute •the remaining attributes are asymmetric binary •let the values Y and P be set to 1, and the value N be set to 0
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
Test-4 N N N
Nominal Variabel • Dapat memiliki > 2 states: red, yellow, blue, green • Method 1: Simple matching – m: jumlah cocok, p: jumlah variabel
•
p − m d ( i , j ) = Method 2: banyak binary p variables – 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 }
– Petakan ke [0, 1] dengan mengganti objek ke i dan rif −1 variabel ke f dengan
zif =
M f −1
– Hitung seperti interval variabel
Ratio-Scaled Variables • Ratio-scaled variable: nilai positif dengan skala nonlinear (exponential scale) seperti AeBt or Ae-Bt • Cara: – Gunakan logarithmic transformation
yif = log(xif) – Pelakukan sebagai continuous ordinal data
Campuran • Database dapat mengandung semua tipe: – symmetric binary, asymmetric binary, nominal, ordinal, interval and ratio
• Gunakan weighted formula untuk mengkombinasikan semua variabel:
Σ 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, userguided or constraint-based:
Jarak antar cluster • Single link: jarak terpendek antar elemen di dua cluster dis(Ki, Kj) = min(tip , tjq )
• Complete link: jarak terjauh antar elemen di dua cluster, i.e., dis(Ki, Kj) = max(tip , tjq )
• Average: rata2 jarak i.e., dis(Ki, Kj) = avg(tip , tjq ) • Centroid: jarak antara centroids, i.e., dis(Ki, Kj) = dis(Ci, Cj) • Medoid: jarak antarta medoids, i.e., dis(Ki, Kj) = dis(Mi, Mj) – Medoid: elemen yang dipilih dan dianggap merupakan titik tengah cluster
Metode Partisi: K-means 1. Partisi objek ke k nonempty subset 2. Hitung centroid (centroid adalah titik tengah cluster) 3. Masukkan setiap objek ke cluster dengan centroid terdekat 4. Kembali ke langkah 2, sampai tidak ada posisi yang berubah
Contoh K-Means: 10
10
9
9
8
8
7
7 6 5
10 9 8
6
7
5
6
4
5
3
4 3 2 1 0 0
1
2
3
4
5
6
7
8
K=2 Arbitrarily choose K object as initial cluster center
9
10
Assign each objects to most similar center
Update the cluster means
2 1 0 0
1
2
3
4
5
6
7
8
9
10
4 3 2 1 0 0
1
2
3
4
5
reassign 10
9
9
8
8
7
7
6
6
5
5
4
4
2 1 0 0
1
2
3
4
5
6
7
8
9
10
7
8
9
10
reassign
10
3
6
Update the cluster means
3 2 1 0 0
1
2
3
4
5
6
7
8
9
10
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 9 8 7 6 5 4 3 2 1 0 0
1
2
3
4
5
K=2
6
7
8
9
10
Arbitrar y choose k object as initial medoid s
10
10
9
9
8
8
7
7
Assign each remaini ng object to nearest medoid s
6 5 4 3 2 1 0 0
1
2
3
4
5
6
7
8
9
10
Total Cost = 26 10
Do loop Until no change
6 5 4 3 2 1 0 0
10
9
Compute total cost of swapping
Swapping O and Oramdom If quality is improved.
3
3
2
2
1
1
6 5 4
0
2
3
4
5
6
7
8
9
10
Randomly select a nonmedoid object,Oramdom
9
8 7
1
8 7 6 5 4
0 0
1
2
3
4
5
6
7
8
9
10
0
1
2
3
4
5
6
7
8
9
10