Pengenalan Pola - afif.lecture.ub.ac.id · Pengenalan Pola PTIIK - 2014 Hierarchical Clustering ....

Post on 15-Mar-2019

235 views 1 download

Transcript of Pengenalan Pola - afif.lecture.ub.ac.id · Pengenalan Pola PTIIK - 2014 Hierarchical Clustering ....

Pengenalan Pola

PTIIK - 2014

Hierarchical Clustering

Course Contents

Agglomerative Hierarchical Clustering (AHC) 1

Studi Kasus 2

Latihan dan Diskusi 3

Progress Final Project 4

Hierarchical Clustering adalah metode analisis kelompok yang

berusaha untuk membangun sebuah hirarki kelompok data.

Strategi pengelompokannya umumnya ada 2 jenis yaitu

Agglomerative (Bottom-Up) dan Devisive (Top-Down). (Pada bagian

ini akan dibatasi hanya menggunakan konsep Agglomerative).

Algoritma Agglomerative Hierarchical Clustering :

1. Hitung Matrik Jarak antar data.

2. Ulangi langkah 3 dan 4 higga hanya satu kelompok yang tersisa.

3. Gabungkan dua kelompok terdekat berdasarkan parameter kedekatan

yang ditentukan.

4. Perbarui Matrik Jarak antar data untuk merepresentasikan kedekatan

diantara kelompok baru dan kelompok yang masih tersisa.

5. Selesai.

Hierarchical Clustering

Membentuk Matrik Jarak, misal dengan Manhattan Distance :

atau menggunakan Euclidian Distance :

Beberapa metode Pengelompokan Secara Hierarki Aglomeratif :

Single Linkage (Jarak Terdekat)

Complete Linkage (Jarak Terjauh)

Average Linkage (Jarak Rata-Rata)

d

j

jjman yxyxD1

,

Dddd uvuvuv },min{

Dddd uvuvuv },max{

Dddaveraged uvuvuv },{

d

j

jj xxxxD1

2

1212 ,

Rumus Umum

Perhatikan dataset berikut :

Data Fitur x Fitur y

1 1 1

2 4 1

3 1 2

4 3 4

5 5 4

Kelompokkan dataset tersebut dengan menggunakan metode AHC (Single

Linkage, Complete Linkage dan Average Linkage) menggunakan jarak

Manhattan !

Contoh Studi Kasus

Menghitung Jarak Pada Semua Pasangan dua data :

Hasil Matrik Jarak :

12111,

31141,

01111,

31

21

2

1

11

DataDataD

DataDataD

yxDataDataD

man

man

j

jjman

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

Data Fitur x Fitur y

1 1 1

2 4 1

3 1 2

4 3 4

5 5 4

7344151,

5324131,

51

41

DataDataD

DataDataD

man

man

4314154,

4314134,

4132114,

52

42

32

DataDataD

DataDataD

DataDataD

man

man

man

6244251,

4224231,

53

43

DataDataD

DataDataD

man

man

2024453, 54 DataDataDman

Menggunakan Metode Single Linkage :

Dengan memperlakukan data sebagai kelompok, selanjutnya kita pilih jarak

dua kelompok yang terkecil.

terpilih kelompok 1 dan 3, sehingga kedua kelompok ini

digabungkan. (Melanjutkan pengelompokan).

Menghitung jarak antar kelompok (1 dan 3) dengan kelompok lain yang

tersisa, yaitu 2, 4 dan 5.

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

1)min()min( 13 dDman

6}6,7min{},min{

4}4,5min{},min{

3}4,3min{},min{

35155)13(

34144)13(

32122)13(

ddd

ddd

ddd

Single Linkage

Menghitung jarak antar kelompok (1 dan 3) dengan kelompok lain yang

tersisa, yaitu 2, 4 dan 5.

Dengan menghapus baris-baris dan kolom-kolom matrik jarak yang

bersesuaian dengan kelompok 1 dan 3, serta menambahkan baris dan

kolom untuk kelompok (13).

Selanjutnya dipilih jarak dua kelompok yang terkecil.

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

6}6,7min{},min{

4}4,5min{},min{

3}4,3min{},min{

35155)13(

34144)13(

32122)13(

ddd

ddd

ddd

Dman (13) 2 4 5

(13) 0 3 4 6

2 3 0 4 4

4 4 4 0 2

5 6 4 2 0

2)min()min( 45 dDman

Dengan menghapus baris-baris dan kolom-kolom matrik jarak yang

bersesuaian dengan kelompok 1 dan 3, serta menambahkan baris dan

kolom untuk kelompok (13).

Selanjutnya dipilih jarak dua kelompok yang terkecil.

Menghitung jarak antar kelompok (4 dan 5) dengan kelompok lain yang

tersisa, yaitu (13) dan 2.

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok 4

dan 5, serta menambahkan baris dan kolom untuk kelompok (45)

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

4}4,4min{},min{

4}6,7,4,5min{},,,min{

52422)45(

53514341)13)(45(

ddd

ddddd

Dman (13) 2 4 5

(13) 0 3 4 6

2 3 0 4 4

4 4 4 0 2

5 6 4 2 0

2)min()min( 45 dDman

Menghitung jarak antar kelompok (4 dan 5) dengan kelompok lain yang

tersisa, yaitu (13) dan 2.

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok 4

dan 5, serta menambahkan baris dan kolom untuk kelompok (45)

Selanjutnya dipilih jarak dua kelompok yang terkecil.

terpilih kelompok (13) dan 2, sehingga kedua kelompok ini

digabungkan. (Melanjutkan pengelompokan).

Menghitung jarak antar kelompok ((13) dan 2) dengan kelompok lain yang

tersisa, yaitu (45).

4}4,4min{},min{

4}6,7,4,5min{},,,min{

52422)45(

53514341)13)(45(

ddd

ddddd

Dman (13) 2 4 5

(13) 0 3 4 6

2 3 0 4 4

4 4 4 0 2

5 6 4 2 0

Dman (45) (13) 2

(45) 0 4 4

(13) 4 0 3

2 4 3 0

3)min()min( 2)13( dDman

Menghitung jarak antar kelompok ((13) dan 2) dengan kelompok lain yang

tersisa, yaitu (45).

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok

(13) dan 2, serta menambahkan baris dan kolom untuk kelompok (123)

Jadi kelompok (132) dan (45) digabung untuk menjadi kelompok tunggal

dari lima data, yaitu kelompok (13245) dengan jarak terdekat 4.

4}4,4,6,4,7,5min{},,,,,min{ 252435341514)45)(132( ddddddd

Dman (13) 2 4 5

(13) 0 3 4 6

2 3 0 4 4

4 4 4 0 2

5 6 4 2 0

Dman (45) (13) 2

(45) 0 4 4

(13) 4 0 3

2 4 3 0

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

Dman (132) (45)

(132) 0 4

(45) 4 0

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok

(13) dan 2, serta menambahkan baris dan kolom untuk kelompok (132)

Jadi kelompok (132) dan (45) digabung untuk menjadi kelompok tunggal

dari lima data, yaitu kelompok (13245) dengan jarak terdekat 4. Berikut

Dendogram Hasil Metode Single Linkage :

Dman (13) 2 4 5

(13) 0 3 4 6

2 3 0 4 4

4 4 4 0 2

5 6 4 2 0

Dman (45) (13) 2

(45) 0 4 4

(13) 4 0 3

2 4 3 0

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

Dman (132) (45)

(132) 0 4

(45) 4 0

1 3 2 4 5 Data

J

a

r

a

k 1

2

3

4

Menggunakan Metode Complete Linkage :

Dengan memperlakukan data sebagai kelompok, selanjutnya kita pilih jarak

dua kelompok yang terkecil.

terpilih kelompok 1 dan 3, sehingga kedua kelompok ini

digabungkan. (Melanjutkan pengelompokan).

Menghitung jarak antar kelompok (1 dan 3) dengan kelompok lain yang

tersisa, yaitu 2, 4 dan 5.

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

1)min()min( 13 dDman

7}6,7max{},max{

5}4,5max{},max{

4}4,3max{},max{

35155)13(

34144)13(

32122)13(

ddd

ddd

ddd

Complete Linkage

Menghitung jarak antar kelompok (1 dan 3) dengan kelompok lain yang

tersisa, yaitu 2, 4 dan 5.

Dengan menghapus baris-baris dan kolom-kolom matrik jarak yang

bersesuaian dengan kelompok 1 dan 3, serta menambahkan baris dan

kolom untuk kelompok (13).

Selanjutnya dipilih jarak dua kelompok yang terkecil.

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

7}6,7max{},max{

5}4,5max{},max{

4}4,3max{},max{

35155)13(

34144)13(

32122)13(

ddd

ddd

ddd

Dman (13) 2 4 5

(13) 0 4 5 7

2 4 0 4 4

4 5 4 0 2

5 7 4 2 0

2)min()min( 45 dDman

Dengan menghapus baris-baris dan kolom-kolom matrik jarak yang

bersesuaian dengan kelompok 1 dan 3, serta menambahkan baris dan

kolom untuk kelompok (13).

Selanjutnya dipilih jarak dua kelompok yang terkecil.

Menghitung jarak antar kelompok (4 dan 5) dengan kelompok lain yang

tersisa, yaitu (13) dan 2.

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok 4

dan 5, serta menambahkan baris dan kolom untuk kelompok (45)

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

4}4,4max{},max{

7}6,7,4,5max{},,,max{

52422)45(

53514341)13)(45(

ddd

ddddd

Dman (13) 2 4 5

(13) 0 4 5 7

2 4 0 4 4

4 5 4 0 2

5 7 4 2 0

2)min()min( 45 dDman

Menghitung jarak antar kelompok (4 dan 5) dengan kelompok lain yang

tersisa, yaitu (13) dan 2.

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok 4

dan 5, serta menambahkan baris dan kolom untuk kelompok (45)

Selanjutnya dipilih jarak dua kelompok yang terkecil.

terpilih kelompok (45) dan 2, sehingga kedua kelompok ini

digabungkan. (Melanjutkan pengelompokan).

Menghitung jarak antar kelompok ((45) dan 2) dengan kelompok lain yang

tersisa, yaitu (13).

4}4,4max{},max{

7}6,7,4,5max{},,,max{

52422)45(

53514341)13)(45(

ddd

ddddd

Dman (13) 2 4 5

(13) 0 4 5 7

2 4 0 4 4

4 5 4 0 2

5 7 4 2 0

Dman (45) (13) 2

(45) 0 7 4

(13) 7 0 4

2 4 4 0

4)min()min( 2)45( dDman

Menghitung jarak antar kelompok ((45) dan 2) dengan kelompok lain yang

tersisa, yaitu (13).

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok

(45) dan 2, serta menambahkan baris dan kolom untuk kelompok (452)

Jadi kelompok (452) dan (13) digabung untuk menjadi kelompok tunggal

dari lima data, yaitu kelompok (13452) dengan jarak terdekat 7.

7}4,3,6,7,4,5max{},,,,,max{ 232153514341)13)(452( ddddddd

Dman (13) 2 4 5

(13) 0 4 5 7

2 4 0 4 4

4 5 4 0 2

5 7 4 2 0

Dman (45) (13) 2

(45) 0 7 4

(13) 7 0 4

2 4 4 0

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

Dman (452) (13)

(452) 0 7

(13) 7 0

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok

(45) dan 2, serta menambahkan baris dan kolom untuk kelompok (452)

Jadi kelompok (452) dan (13) digabung untuk menjadi kelompok tunggal

dari lima data, yaitu kelompok (13452) dengan jarak terdekat 7. Berikut

Dendogram Hasil Metode Complete Linkage :

Dman (13) 2 4 5

(13) 0 4 5 7

2 4 0 4 4

4 5 4 0 2

5 7 4 2 0

Dman (45) (13) 2

(45) 0 7 4

(13) 7 0 4

2 4 4 0

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

Dman (452) (13)

(452) 0 7

(13) 7 0

1 3 4 5 2 Data

J

a

r

a

k 1

2

4

7

Menggunakan Metode Average Linkage :

Dengan memperlakukan data sebagai kelompok, selanjutnya kita pilih jarak

dua kelompok yang terkecil.

terpilih kelompok 1 dan 3, sehingga kedua kelompok ini

digabungkan. (Melanjutkan pengelompokan).

Menghitung jarak antar kelompok (1 dan 3) dengan kelompok lain yang

tersisa, yaitu 2, 4 dan 5.

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

1)min()min( 13 dDman

5.62/)67(}6,7{},{

5.42/)45(}4,5{},{

5.32/)43(}4,3{},{

35155)13(

34144)13(

32122)13(

averageddaveraged

averageddaveraged

averageddaveraged

Average Linkage

5.62/)67(}6,7{},{

5.42/)45(}4,5{},{

5.32/)43(}4,3{},{

35155)13(

34144)13(

32122)13(

averageddaveraged

averageddaveraged

averageddaveraged

Menghitung jarak antar kelompok (1 dan 3) dengan kelompok lain yang

tersisa, yaitu 2, 4 dan 5.

Dengan menghapus baris-baris dan kolom-kolom matrik jarak yang

bersesuaian dengan kelompok 1 dan 3, serta menambahkan baris dan

kolom untuk kelompok (13).

Selanjutnya dipilih jarak dua kelompok yang terkecil.

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

Dman (13) 2 4 5

(13) 0 3.5 4.5 6.5

2 3.5 0 4 4

4 4.5 4 0 2

5 6.5 4 2 0

2)min()min( 45 dDman

Dengan menghapus baris-baris dan kolom-kolom matrik jarak yang

bersesuaian dengan kelompok 1 dan 3, serta menambahkan baris dan

kolom untuk kelompok (13).

Selanjutnya dipilih jarak dua kelompok yang terkecil.

Menghitung jarak antar kelompok (4 dan 5) dengan kelompok lain yang

tersisa, yaitu (13) dan 2.

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok 4

dan 5, serta menambahkan baris dan kolom untuk kelompok (45)

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

42/)44(}4,4{},{

25.54/)6745(}6,7,4,5{},,,{

52422)45(

53514341)13)(45(

averageddaveraged

averageddddaveraged

Dman (13) 2 4 5

(13) 0 3.5 4.5 6.5

2 3.5 0 4 4

4 4.5 4 0 2

5 6.5 4 2 0

2)min()min( 45 dDman

42/)44(}4,4{},{

25.54/)6745(}6,7,4,5{},,,{

52422)45(

53514341)13)(45(

averageddaveraged

averageddddaveraged

Menghitung jarak antar kelompok (4 dan 5) dengan kelompok lain yang

tersisa, yaitu (13) dan 2.

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok 4

dan 5, serta menambahkan baris dan kolom untuk kelompok (45)

Selanjutnya dipilih jarak dua kelompok yang terkecil.

terpilih kelompok (13) dan 2, sehingga kedua kelompok ini

digabungkan. (Melanjutkan pengelompokan).

Menghitung jarak antar kelompok ((13) dan 2) dengan kelompok lain yang

tersisa, yaitu (45).

Dman (13) 2 4 5

(13) 0 3.5 4.5 6.5

2 3.5 0 4 4

4 4.5 4 0 2

5 6.5 4 2 0

Dman (45) (13) 2

(45) 0 5.25 4

(13) 5.25 0 3.5

2 4 3.5 0

5.3)min()min( 2)13( dDman

Menghitung jarak antar kelompok ((13) dan 2) dengan kelompok lain yang

tersisa, yaitu (45).

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok

(45) dan 2, serta menambahkan baris dan kolom untuk kelompok (452)

Jadi kelompok (132) dan (45) digabung untuk menjadi kelompok tunggal

dari lima data, yaitu kelompok (13245) dengan jarak terdekat 5.

56/)446475(}4,4,6,4,7,5{},,,,,{ 252435341514)45)(132( averageddddddaveraged

Dman (13) 2 4 5

(13) 0 3.5 4.5 6.5

2 3.5 0 4 4

4 4.5 4 0 2

5 6.5 4 2 0

Dman (45) (13) 2

(45) 0 5.25 4

(13) 5.25 0 3.5

2 4 3.5 0

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

Dman (132) (45)

(132) 0 5

(45) 5 0

Menghapus baris dan kolom matrik yang bersesuaian dengan kelompok

(45) dan 2, serta menambahkan baris dan kolom untuk kelompok (452)

Jadi kelompok (132) dan (45) digabung untuk menjadi kelompok tunggal

dari lima data, yaitu kelompok (13245) dengan jarak terdekat 5. Berikut

Dendogram Hasil Metode Average Linkage :

Dman (13) 2 4 5

(13) 0 3.5 4.5 6.5

2 3.5 0 4 4

4 4.5 4 0 2

5 6.5 4 2 0

Dman (45) (13) 2

(45) 0 5.25 4

(13) 5.25 0 3.5

2 4 3.5 0

Dman 1 2 3 4 5

1 0 3 1 5 7

2 3 0 4 4 4

3 1 4 0 4 6

4 5 4 4 0 2

5 7 4 6 2 0

Dman (132) (45)

(132) 0 5

(45) 5 0

1 3 2 4 5 Data

J

a

r

a

k 1

2

3

4

5

Single-Linkage Complete-Linkage

Average-Linkage

1 3 2 4 5 Data

J

a

r

a

k 1

2

3

4

1 3 4 5 2 Data

J

a

r

a

k 1

2

4

7

1 3 2 4 5 Data

J

a

r

a

k 1

2

3

4

5

1. Perhatikan dataset 1 berikut :

2. Perhatikan dataset 2 berikut :

Data Fitur x Fitur y

1 1 1

2 4 1

3 6 1

4 1 2

5 2 3

6 5 3

7 2 5

8 3 5

9 2 6

10 3 8

Data Fitur x Fitur y

1 1 1

2 4 1

3 1 2

4 3 4

5 5 4

Kelompokkan dataset tersebut dengan menggunakan metode AHC

(Single Linkage, Complete Linkage dan Average Linkage)

menggunakan jarak Euclidian dan Visualisasikan Dendogramnya !

Kelompokkan dataset tersebut dengan menggunakan

metode AHC Average Linkage menggunakan jarak

Euclidian dan Visualisasikan Dendogramnya !

Latihan

afif.supianto@ub.ac.id

081 331 834 734 / 088 160 127 40