clustering

32
Clustering [email protected] Okt 2012

Upload: edi12321

Post on 20-Jan-2016

18 views

Category:

Documents


0 download

DESCRIPTION

Clustering

TRANSCRIPT

Page 1: Clustering

Clustering

[email protected]

Okt 2012

Page 2: Clustering
Page 3: Clustering

Contoh

Page 4: Clustering

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

Page 5: Clustering

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

Page 6: Clustering

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.

Page 7: Clustering

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.

Page 8: Clustering

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.

Page 9: Clustering

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

Page 10: Clustering

Struktur Data

• Data matrix– (two modes)

• Dissimilarity matrix– (one mode)

npx...nfx...n1x

...............ipx...ifx...i1x

...............1px...1fx...11x

0...)2,()1,(

:::

)2,3()

...ndnd

0dd(3,1

0d(2,1)

0

Page 11: Clustering

Tipe data dalam clustering

• Interval-scaled variables

• Binary variables ada atau tidak

• Nominal, ordinal, and ratio variables

• Campuran

Page 12: Clustering

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.

Page 13: Clustering

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

Page 14: Clustering

Interval Variable• Jika ada beberapa atribut dan punya distribusi

berbeda: perlu distandardkan.

• Buat data menjadi standard, z-score:

– Hitung mean absolute deviation:

dimana

– Hitung standardized measurement (z-score)

.)...21

1nffff

xx(xn m

|)|...|||(|121 fnffffff

mxmxmxns

f

fifif s

mx z

Page 15: Clustering

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?

Page 16: Clustering

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.

Page 17: Clustering

Jarak antara Interval-Scaled Variable

• similarity atau dissimilarity antar dua objek:

jarak kedua objek

• Yang populer: Minkowski distance:

q : integer positif

• If q = 1, d is Manhattan distance

qq

pp

qq

jx

ix

jx

ix

jx

ixjid )||...|||(|),(

2211

||...||||),(2211 pp jxixjxixjxixjid

Page 18: Clustering

Interval Variable (lanj)

• Jika q = 2, d adalah Euclidean distance:

– 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

)||...|||(|),( 22

22

2

11 pp jx

ix

jx

ix

jx

ixjid

Page 19: Clustering

Variabel Binary

• A contingency table

• Jarak untuk symmetric binary

variables:

• Jarak untuk asymmetric binary

variables:

• Jaccard coefficient (similarity

measure untuk asymmetric

binary variables):

dcbacb jid

),(

cbacb jid

),(

pdbcasum

dcdc

baba

sum

0

1

01

Object i

Object j

cbaa jisim

Jaccard ),(

Page 20: Clustering

Contoh

Name Gender Fever Cough Test-1 Test-2 Test-3 Test-4Jack M Y N P N N NMary F Y N P N P NJim M Y P N N N 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

75.0211

21),(

67.0111

11),(

33.0102

10),(

maryjimd

jimjackd

maryjackd

Page 21: Clustering

Nominal Variabel• Dapat memiliki > 2 states: red, yellow, blue,

green

• Method 1: Simple matching

– m: jumlah cocok, p: jumlah variabel

• Method 2: banyak binary variables

– Buat binary variable sebanyak states

pmpjid ),(

Page 22: Clustering

Ordinal

• Dapat discrete atau continuous

• Urutan penting: misalnya rank

• Dapat diperlakukan sebagai interval-scaled

– ganti xif dengan peringkat

– Petakan ke [0, 1] dengan mengganti objek ke i dan variabel ke f dengan

– Hitung seperti interval variabel

},...,1{fif

Mr

11

f

ifif M

rz

Page 23: Clustering

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

Page 24: Clustering

Campuran

• Database dapat mengandung semua tipe:– symmetric binary, asymmetric binary, nominal, ordinal,

interval and ratio

• Gunakan weighted formula untuk mengkombinasikan semua variabel:

)(1

)()(1),(

fij

pf

fij

fij

pf

djid

Page 25: Clustering

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:

Page 26: Clustering

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

Page 27: Clustering

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

Page 28: Clustering

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

Page 29: Clustering

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)Cluster C, centroid: (4,9)

A1 cluster A

A3 cluster A, d(A3,A) = B1 cluster A, d(B1,A) =B3 cluster A, d(B3,A) =C1 cluster A, d(C1,A) =

22 |510||22(|),1( AAd

5),1( AAd

Page 30: Clustering

Contoh K-Means:

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 100

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=2

Arbitrarily choose K object as initial cluster center

Assign each objects to most similar center

Update the cluster means

Update the cluster means

reassignreassign

Page 31: Clustering

K-Medoids

• Kelemahan utama centroid jika ada outlier posisi centroid akan terpengaruhi.

• Centroid diganti Modoids salah satu data dipilih sebagai titik tengah

Page 32: Clustering

Contoh K-Metoid (PAM)

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=2

Arbitrary choose k object as initial medoids

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

Assign each remaining object to nearest medoids Randomly select a

nonmedoid object,Oramdom

Compute total cost of swapping

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10

Total Cost = 26

Swapping O and Oramdom

If quality is improved.

Do loop

Until no change

0

1

2

3

4

5

6

7

8

9

10

0 1 2 3 4 5 6 7 8 9 10