Anda di halaman 1dari 32

1

Clustering

ISI4G3 – Penambangan Data

Program Studi S1 Sistem Informasi


FAKULTAS REKAYASA INDUSTRI
2
3

Contoh
4

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
5

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
6

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.
7

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.
8

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.
9

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
10

Struktur Data é x11 ... x1f ... x1p ù


ê ú
ê ... ... ... ... ... ú
• Data matrix êx ... xif ... xip ú
• (two modes)
ê i1 ú
ê ... ... ... ... ... ú
êx ... xnf ... xnp úú
êë n1 û

é 0 ù
• Dissimilarity matrix ê d(2,1) 0 ú
• (one mode) ê ú
ê d(3,1) d ( 3,2) 0 ú
ê ú
ê : : : ú
êëd ( n,1) d ( n,2) ... ... 0úû
11

Tipe data dalam clustering

• Interval-scaled variables

• Binary variables à ada atau tidak

• Nominal, ordinal, and ratio variables


• Campuran
12

Interval-Scaled Variable

• Skala linear (bukan eksponensial, bukan logaritimik)


• Positif atau negatif, pecahan atau bulat.
• Tinggi badan, berat badan, jarak dst.
• Contoh:
• jarak 50m ke 100m sama dengan jarak 150-200.
13

Contoh yang bukan


interval-Scaled Variable

• skala richter gempa


• naik satu level = 10 kali
lipat level sebelumnya.

http://www.sdgs.usd.edu/publications/maps/earthquakes/images/RichterScale.gif
14

Interval Variable

• Jika ada beberapa atribut dan punya distribusi berbeda:


perlu distandardkan.
• Buat data menjadi standard, z-score:
s f = 1n (| x1 f - m f | + | x2 f - m f | +...+ | xnf - m f |)
• Hitung mean absolute deviation:

m f = 1n (x1 f + x2 f + ... + xnf )


.

dimana
• Hitung standardized measurement (z-score)
xif - m f
zif = sf
15

Mengapa z-score?

• Tidak bisa membandingkan atribut dengan distribusi


berbeda.
• Contoh:
• Seseorang mendapatkan nilai 70 untuk bhs Inggris (rata2 kelas: 60, std deviasi: 15). Dia
mendapat nilai 72 untuk matematika (rata2: 68, std deviasi: 6). Nilai mana yang lebih
baik?
16

Lanj

• z-score nilai bhs Inggris:


(70-60) /15 = 0.67
• z-score nilai Matematika:
(72-68)/6 = 0.67

Dari tabel standard distribusi, probabilitas z=0.67 adalah


0.24 (25%), artinya baik untuk bhs Inggris maupun
Matematika, nilai siswa ini lebih baik dari 75% siswa yg lain.
17

Jarak antara
Interval-Scaled Variable
d (i, j) = q (| x - x |q + | x - x |q +...+ | x - x |q )
i1 j1 i2 j2 ip jp

• similarity atau dissimilarity antar dua objek: jarak


kedua objek
• Yang populer: Minkowski distance:

d (i, j) =| x - x | + | x - x | +...+ | x - x |
i1 j1 i2 j 2 ip jp

q : integer positif
18

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
19

Variabel Binary Object j


1 0 sum
• A contingency table à 1 a b a +b
Object i
0 c d c+d
sum a + c b + d p

d (i, j) = b+c
• Jarak untuk symmetric binary variables: a +b+c + d
• Jarak untuk asymmetric binary variables: d (i, j) = b+c
a +b+c
• Jaccard coefficient (similarity measure untuk asymmetric binary
variables):
simJaccard (i, j) = a
a +b + c
20

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 ( jack , mary ) =
0+1
2+ 0+1
= 0.33 • gender is a symmetric
d ( jack , jim ) =
1+1
1+1+1
= 0.67 attribute
d ( jim , mary ) =
1+ 2
1+1+ 2
= 0.75 • the remaining attributes are
asymmetric binary
• let the values Y and P be set
to 1, and the value N be set
to 0
21

Nominal Variabel
• Dapat memiliki > 2 states: red, yellow, blue,
green
• Method 1: Simple matching
• m: jumlah cocok, p: jumlah variabel

p
d (i, j) = p- m

• Method 2: banyak binary variables


• Buat binary variable sebanyak states
22

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


variabel ke f dengan rif -1
zif =
M f -1
• Hitung seperti interval variabel
23

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
24

Campuran

• Database dapat mengandung semua tipe:


• symmetric binary, asymmetric binary, nominal, ordinal,
interval and ratio
• Gunakan weighted formula untuk
mengkombinasikan semua variabel:
S pf = 1d ij( f ) dij( f )
d (i, j) =
S pf = 1d ij( f )
25

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:
26

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
27

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
28

Contoh K-Means

• Anda diminta mencluster 8 point berikut: A1(2, 10), A2(2, 5),


A3(8, 4), B1(5, 8), B2(7, 5), B3(6, 4), C1(1, 2), C2(4, 9). gunakan
K-Means dengan euclidean distance. Asumsikan A2, B2 dan
C2 sebagai inisial cluster untuk cluster A, B dan C. Tampilkan
perhitungan dan isi cluster (termasuk centroid cluster yang
dihitung dengan rata-rata).
29

Contoh K-Means

• A1(2, 10), A2(2, 5), A3(8, 4), B1(5, 8), B2(7, 5), B3(6, 4), C1(1, 2), C2(4, 9).
• Jarak antara setiap titik dengan setiap cluster.
Cluster A, centroid: (2,5)
Cluster B, centroid: (7,5) d ( A1, A) = (| 2 - 2 | + |10 - 5| 2 2

Cluster C, centroid: (4,9)

A1 à cluster A

d ( A1, A) = 5
A3 à cluster A, d(A3,A) =
B1 à cluster A, d(B1,A) =
B3 à cluster A, d(B3,A) =
C1 à cluster A, d(C1,A) =
30

Contoh K-Means:

10 10
10
9 9
9
8 8
8
7 7
7
6 6
6
5 5
5
4 4
4
Assign 3 Update 3
3

2 each
2 the 2

1
objects
1

0
cluster 1

0
0
0 1 2 3 4 5 6 7 8 9 10 to most
0 1 2 3 4 5 6 7 8 9 10 means 0 1 2 3 4 5 6 7 8 9 10

similar
center reassign reassign
10 10

K=2 9 9

8 8

Arbitrarily choose K 7 7

object as initial
6 6

5 5

cluster center 4 Update 4

2
the 3

1 cluster 1

0
0 1 2 3 4 5 6 7 8 9 10
means 0
0 1 2 3 4 5 6 7 8 9 10
31

K-Medoids

• Kelemahan utama centroid à jika ada outlier posisi centroid


akan terpengaruhi.
• Centroid diganti Modoids à salah satu data dipilih sebagai
titik tengah
32

Contoh K-Medoids (PAM)


10 10 10

9 9 9

8 8 8

Arbitrary Assign
7 7 7

6 6 6

5
choose k 5 each 5

4 object as 4 remainin 4

3 initial 3
g object 3

2
medoids 2
to 2

nearest
1 1 1

0 0 0
0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10
medoids 0 1 2 3 4 5 6 7 8 9 10

K=2 Randomly select a


Total Cost = 26 nonmedoid object,Oramdom
10 10

Do loop 9

8
Compute
9

8
Swapping O total cost of
Until no
7 7

and Oramdom 6
swapping 6

change
5 5

If quality is 4 4

improved. 3 3

2 2

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

Anda mungkin juga menyukai