Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma...

35
Algoritma Clustering Amil Ahmad Ilham 1

Transcript of Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma...

Page 1: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Algoritma ClusteringAmil Ahmad Ilham

1

Page 2: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Pengertian Cluster

Cluster: Kumpulan dari object data, dimana data dalam cluster yang sama memiliki kemiripan dan memiliki perbedaan dengan data yang berada dalam cluster lain (Jia Wei-Han)

Centroid: Titik pusat cluster

Proses pembelajaran di dalam cluster :• Jarak antar data dalam cluster sama di minimalkan

(memaksimalkan kemiripan)• Jarak antar data dari cluster berbeda di maksimalkan

(memaksimalkan perbedaan)

2

Page 3: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Tujuan: Cluster Analysis• Menentukan kelompok objects data sedemikian hingga object data yang berada

dalam satu kelompok memiliki kemiripan satu dengan lainnya, dan memilikiberbedaan dengan object data yang berada dalam kelompok lain

Memaksimasi Inter-cluster distances

Meminimasi Intra-cluster distances

Tujuan

3

Page 4: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Gambaran Cluster

Data set pada gambar secara alami memiliki tiga kelompok data. Dengan demikian data set ini terdiri dari 3 cluster.

4

Page 5: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Bagaimana melakukan clustering

5

Page 6: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Macam clustering

• Partitional Clustering

Proses untuk membagi sekumpulan objek ke dalam beberapa cluster dimanasetiap anggota cluster tidak terjadi overlap. Artinya sebuah object data hanyaakan menjadi bagian dari sebuah cluster

• Hierarchical Clustering

Proses untuk membagi sekumpulan objek ke dalam beberapa cluster yang memungkinkan terjadi overlap. Sebuah object data bisa menjadi anggota lebihdari satu cluster.

Sehingga penggambaran cluster dalam bentuk hierarchical tree atau dendogram

6

Page 7: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Partitional Clustering

A Partitional Clustering

7

Page 8: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Hierarchical Clustering

p4

p1p3

p2

p4

p1 p3

p2

p4p1 p2 p3

p4p1 p2 p3

diclustermenjadi

8

Page 9: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Euclidean Distance

Contoh

A(3,2)

B(10,6)

𝑑𝐸 𝐵, 𝐴 = (10 − 3)2+(6 − 2)2

𝑑𝐸 𝐵, 𝐴 = 8.06

𝑑𝐸 𝐵, 𝐴 = 49 + 16

𝑑𝐸 𝐵, 𝐴 = 65

9

Page 10: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Algoritma K-MeansAlgoritma K-Means

10

Page 11: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Algoritma K-Means

• K-Means adalah salah satu partitional clustering yang terkenal

• Parameter K menunjukkan banyaknya cluster yang akan dibentuk

• Perbandingan dengan metode lain

• Kelebihan: komputasi yang sederhana

• Kekurangan: kualitas kluster tergantung pada pemilihan centroid awal dan nilai k.

• Nilai k ditentukan di awal.

• Koordinat awal setiap centroid ditentukan secara acak.

11

Page 12: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Algoritma K-MeansContoh k-Means clustering dengan k=3 (berarti ada 3 centroid yaitu m1, m2, m3)

Setiap cluster diasosiasikan dengan sebuah centroid

Setiap point data dimasukkan ke cluster dengan centroid terdekat berdasarkan jarak terkecil.

12

Page 13: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Algoritma K-Means

1.Tentukan jumlah klaster (k)2.Tentukan koodinat awal setiap centroid secara acak.3. Hitung jarak setiap data ke setiap centroid (misalnya

menggunakan Euclidean Distance) 4.Tentukan keanggotaan setiap centroid berdasarkan jarak terdekat

dari data ke centroid5.Update koordinat dari masing-masing centroid 6. Kembali ke no 3, iterasi berhenti jika sudah tidak ada perubahan

keanggotaan centroid

13

Page 14: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Cara kerja k-means

14

Misalnya akan dilakukan pengelompokanpelanggan berdasarkan “Age” dan “Income”

Page 15: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Cara kerja k-means (langkah ke-1)

Misalnya data akandikelompokkan menjadi 3 klaster, maka ditetapkannilai k = 3

15

Page 16: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Cara kerja k-means (langkah ke-2)

Karena k = 3, maka ada 3 titikkoordinat awal centroid yang harus ditentukan secara acak, misalnya:

16

Page 17: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Cara kerja k-means (langkah ke-3)

Hitung jarak (distance) dari setiap data ke setiap centroid. Misalnya:• jarak dari data ke c1 adalah d(p1,c1), d(p2,c1), d(p3,c1) …

• Jarak dari data ke c2 adalah d(p1,c2), d(p2,c2), d(p3,c2) …

• Jarak dari data ke c3 adalah d(p1,c3), d(p2,c3), d(p3,c3) …

17

Page 18: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Cara kerja k-means (langkah ke-4)Tetapkan keanggotaan setiap centroid• Data yang memiliki jarak terdekat ke suatu centroid, ditetapkan menjadi anggota

centroid tersebut.

18

Page 19: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Cara kerja k-means (langkah ke-5)

Hitung ulang koordinat setiap centroid sehingga centroid akan berpindahke titik pusat klaster (berada ditengah-tengah anggotanya)

19

Koordinat baru centroid = (rata-rata nilai sumbu x, rata-rata nilai sumbu y)

Page 20: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Cara kerja k-means (perulangan)

• Karena koordinat centroid berpindah, maka ulangi kembalilangkat ke-3 sampai ke-5.

• Iterasi berhenti jika tidak ada lagianggota centroid yang pindah kecentroid lain (artinya koordinatcentroid tidak berubah lagi)

• Pengelompokan selesai.

20

Page 21: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Contoh penggunaan k-means

Misalkan ada 4 macam obat yang memiliki dua atribute (weight dan pH). Tujuan: mengelompokkan obat ini menjadi 2 klaster obat

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4 A B

C

D

21

Page 22: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Contoh penggunaan k-means (langkah ke-1)

Karena 4 macam obat ini akan dikelompokkan menjadi 2 klaster, maka ditetapkan nilai k = 2

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4 A B

C

D

22

Page 23: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Contoh penggunaan k-means (langkah ke-2)

Karena k = 2, maka ada 2 titik koordinat awal centroid yang harusditentukan secara acak, misalnya: c1=(1,1) dan c2 = (2,1) (Kebetulan sama dengan koordinat A dan B)

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4

23

A B

C

D

C

D

A B

Page 24: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Contoh penggunaan k-means (langkah ke-3)

Hitung jarak (distance) dari setiap data ke setiap centroid menggunakan Euclidean Distance. Koordinat centroid: c1=(1,1) dan c2 = (2,1)

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4

24

Hitung distance (d):d(A,c1) =d(A,c2) =

d(B,c1) =d(B,c2) =

d(C,c1) =d(C,c2) =

d(D,c1) =d(D,c2) =

Tugas No. 1

Tugas No. 1

Page 25: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Contoh penggunaan k-means (langkah ke-4)

Tetapkan keanggotaan setiap centroid berdasarkan jarakterdekat dari data ke centroid

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4

25

Hitung distance (d):d(A,c1) =d(A,c2) =

d(B,c1) =d(B,c2) =

d(C,c1) =d(C,c2) =

d(D,c1) =d(D,c2) =

Berdasarkan jarak terdekat:A -> c1B, C, D -> c2

Page 26: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Contoh penggunaan k-means (langkah ke-5)

Hitung ulang koordinat setiap centroid sehingga centroid akan berpindah ke titik pusat klaster (berada ditengah-tengah anggotanya)

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4

26

c1: (1,1) => (1,1)

c2: (2,1) => (3.67,2.67)

c2 = (rata-rata nilai sumbu x, rata-rata nilai sumbu y)

Page 27: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Contoh penggunaan k-means (ulangi langkah ke-3)

Hitung jarak (distance) dari setiap data ke setiap centroid menggunakan Euclidean Distance. Koordinat centroid: c1=(1,1) dan c2 = (3.67,2.67)

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4

27

Hitung distance (d):d(A,c1) =d(A,c2) =

d(B,c1) =d(B,c2) =

d(C,c1) =d(C,c2) =

d(D,c1) =d(D,c2) =

Tugas No. 2

Tugas No. 2

Page 28: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Contoh penggunaan k-means (ulangi langkah ke-4)

Tetapkan keanggotaan setiap centroid berdasarkan jarakterdekat dari data ke centroid

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4

28

Hitung distance (d):d(A,c1) =d(A,c2) =

d(B,c1) =d(B,c2) =

d(C,c1) =d(C,c2) =

d(D,c1) =d(D,c2) =

Berdasarkan jarak terdekat:A, B -> c1 (B pindah ke c1)C, D -> c2

Page 29: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Contoh penggunaan k-means (ulangi langkah ke-5)

Hitung ulang koordinat setiap centroid sehingga centroid akan berpindah ke titik pusat klaster (berada ditengah-tengah anggotanya)

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4

29

c = (rata-rata nilai sumbu x, rata-rata nilai sumbu y)

)2

13 ,

2

14(

2

43 ,

2

54

)1 ,2

11(

2

11 ,

2

21

2

1

c

c

Page 30: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Contoh penggunaan k-means (ulangi langkah ke-3)

Hitung jarak (distance) dari setiap data ke setiap centroid menggunakan Euclidean Distance. Koordinat centroid: c1=(1.5,1) dan c2 = (4.5,3.5)

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4

30

Hitung distance (d):d(A,c1) =d(A,c2) =

d(B,c1) =d(B,c2) =

d(C,c1) =d(C,c2) =

d(D,c1) =d(D,c2) =

Tugas No. 3

Tugas No. 3

Page 31: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Hasil k-means (k = 2)

Tuliskan nilai distance yang menunjukkan tidak terjadinyaperpindahan anggota centroid sehingga proses pengelompokan selesai.

Medicine Weight pH-Index

A 1 1

B 2 1

C 4 3

D 5 4

31

c1=(1,1) c2 = (3.67,2.67)distance (d):d(A,c1) =d(A,c2) =

d(B,c1) =d(B,c2) =

d(C,c1) =d(C,c2) =

d(D,c1) =d(D,c2) =

c1=(1.5,1) c2 = (4.5,3.5)distance (d):d(A,c1) =d(A,c2) =

d(B,c1) =d(B,c2) =

d(C,c1) =d(C,c2) =

d(D,c1) =d(D,c2) =

c1=(1,1); c2 = (3.67,2.67) c1=(1.5,1); c2 = (4.5,3.5)

Hasil k-means (k = 2)

Tugas No. 4

Tugas No. 4

Page 32: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Evaluasi Performa K-Means

• Evaluasi performa K-Means Clustering dapat menggunakan Sum of Square Error (SSE). Ide utama dari penggunaan SSE ini adalahmengukur keseragaman antar data dalam satu cluster

• Keseragaman diukur berdasarkan error/jarak/distance antara setiap data dengan centroidnya. Semakin seragam data-data dalam sebuahcluster, semakin kecil jarak antara setiap data dengan centroidnya

• Selanjutnya error disetiap cluster dijumlahkan untuk semua cluster (Sum of Square Error/SSE). Semakin kecil nilai SSE maka semakin bagus hasil clusteringnya

32

Page 33: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Evaluasi Performa K-Means

33

Page 34: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

SSE dan Jumlah K

• Berdasarkan performa SSE, clustering akan makin baik bila memiliki nilai SSE yang kecil

• Nilai SSE akan mendekati 0 seiring dengan bertambahnya jumlah K. SSE akan bernilai 0 bila K samadengan jumlah data dalam data set, karena setiap data adalah cluster tunggal dengan anggotahanya dirinya sendiri sekaligus sebagai centroid.

Jumlah K

SSE

34

Page 35: Algoritma Clustering - Universitas Hasanuddinunhas.ac.id/amil/S1TIF/DM2020/07 Algoritma Klastering.pdf · p4 p1 p3 p2 p4 p1 p3 p2 p1 p2 p3 p4 p1 p2 p3 p4 dicluster menjadi 8. Euclidean

Elbow Method

• Gambar kiri terlihat jelas menunjukkan bahwa elbow terletak pada K=3 sehingga jumlah cluster terbaik untuk data set adalah 3 cluster

• Tetapi tidak selamanya Elbow Method dapat digunakan untuk menentukan nilai K yang optimum. Pada gambar kanan terlihat bahwa kurva sangat landai sehingga sulit untukmenentukan dimana letak elbow nya

35