tugas divisive hierarchical clustering

Upload: sintya-dewi

Post on 29-Mar-2016

90 views

Category:

Documents


8 download

DESCRIPTION

ilmu komputer

TRANSCRIPT

DIVISIVE HIERARCHICAL CLUSTERING BASED ON MINIMUM SPINNING TREE

Herarchical clustering merupakan teknik analisis clustering yang dalam prosesnya pembentukan clusteringnya bisanya berbentuk tree. Secara umum Herarchical clustering dibagi atas dua jenis yakni : AglomerativeAglomerative mempunyai sifat membentuk clustering yang lebih besar dari cluster-cluster yang lebih kecil. DivisiveDivisive memiliki sifat yang terbalik dengan Aglomerative, dimana pada metode ini akan membentuk cluster-cluster yang lebih kecil dari cluster yang lebih besar.Dua metode diatas dapat diilustrasikan sebagai berikut :

Kedua metode diatas memiliki permasalahan utama yakni kapan suatu kondisi yang menyebabkan proses clustering berhenti dan bagaimana cara mengukur similarty antar objek. Karena itu akan dibahas mengenai similarity terlebih dahulu.CLUSTER DISTANCE MEASURESAda 3 teknik penghitungan jarak dalam clustering yang umum digunakan yakni : Single Link : yakni mencari jarak terpendek antar dua objek dalam dua cluster. .

Complete Link : yakni mencari jarak terjauh antar 2 objek dalam dua cluster. .

Average : yakni mencari rata jarak antar objek dalam dua clustering.

Penghitungan jarak diatas dapat dilakukan dengan manhattan distance, ecludean distance, dan banyak lagi teknik penghitung jarak. Secara umum penghitungan jarak menggunakan ecludean distance. Kembali ke permasalahan herarchical clustering khususnya metode divisive hierarchical clustering, yang mana metode ini dapat menggunakan satu dari 3 metode penghitungan jarak diatas, divisive dengan teknik single link dapat juga dikatakan sebagai metode Divisive dengan Minimum Spanning Tree. Selanjutnya disajikan algoritma divisive hierarchical clustering dengan flowchart berikut :

Flowchart diatas juga menjelaskan kapan eksekusi akan berhenti, yakni ketika jumlah object yang ada dalam cluster sama dengan cluster yang ada.Jika flowchart diatas diimplementasikan akan membentuk suatu binary tree seperti gambar berikut : Umumnya dalam pemrograman hal ini diimplementasikan dalam bentuk fungsi rekursif. Contoh soal :Misalkan terdapat set data sebagai berikut :Dataxy

A11

B12

C41

D31

Diasumsika 4 data di tabel merupakan suatu kelompok cluster .Akan dihitung jarak masing masing objek dalam cluster, sehingga membentuk matrik berikut :Misalkan dihitung jarak antara A dengan B maka dengan ecludean distance diperoleh :

Kemudian hitung single link = min (d) (tanpa memandang jarak ke diri sendiri) = 1 (bisa dipilih A ke B atau C ke D).Misalnya dipilih single link nya adalah A ke B, maka dari itu perlu menghitung jarak masing-masing object ke data A dan B (dapat dilihat pada matrik jarak). Jika object lain lebih dekat ke A maka akan dimasukan ke Cluster 1 dan jika lebih dekat ke data B maka dimasukan ke Cluster 2, sehingga diperoleh dan . Sehingga terbentuk pohon sebagai berikut :

Lakukan hal yang sama untuk masing-masing node :

Tentu dari sini sudah terlihat pada matrik jarak diatas, cari single link dan split seperti pada langkah sebelumnya, sehingga dapat dibuat tree sebagai berikut :

Karena jumlah object dalam cluster awal sama dengan jumlah cluster di leaves tree maka proses dihentikan.