Lompat ke konten Lompat ke sidebar Lompat ke footer

Algoritma Hierarchical Clustering Tentang Pemahaman Pengelompokkan Data Bertingkat

Dalam dunia analisis data, terdapat berbagai metode untuk mengelompokkan data ke dalam kelompok-kelompok yang serupa. Salah satu metode yang populer dan kuat adalah algoritma hierarchical clustering. Algoritma ini memungkinkan pengelompokkan data secara bertingkat atau hierarkis berdasarkan kesamaan karakteristik antar datapoint. Artikel ini akan membahas konsep dasar, langkah-langkah, serta kegunaan dari algoritma hierarchical clustering dalam analisis data.

Sebelum mempelajari materi tenatng Algoritma Hierarchical Clustering Tentang Pemahaman Pengelompokkan Data Bertingkat, terlebih dahulu pelajari materi tentang: Algoritma Klastering dan Penggalian Pola dari Kumpulan Data, Metode Elbow dalam Algoritma Klastering untuk Memilih Jumlah Klaster Optimal, dan Memahami Metode Silhouette Score dalam Analisis Klastering.

Konsep Dasar Hierarchical Clustering

Hierarchical clustering adalah teknik pengelompokkan data yang membangun hirarki kelompok. Proses ini dimulai dengan setiap data dianggap sebagai kelompok tunggal dan secara bertahap menggabungkan kelompok-kelompok yang mirip untuk membentuk kelompok yang lebih besar. Hasilnya adalah pohon atau dendrogram yang menggambarkan hubungan hierarkis antar kelompok.

Algoritma hierarchical clustering memiliki dua pendekatan utama: agglomerative (penggabungan dari bawah ke atas) dan divisive (pembagian dari atas ke bawah). Dalam agglomerative clustering, setiap data awalnya dianggap sebagai satu kelompok, dan kemudian iteratif menggabungkan dua kelompok terdekat menjadi satu kelompok yang lebih besar. Sementara itu, divisive clustering memulai dengan satu kelompok besar dan membaginya menjadi kelompok yang lebih kecil hingga tiap data menjadi satu kelompok.

Langkah-langkah Algoritma Hierarchical Clustering

Berikut beberapa tahapan langkang penggunaan algoritma Hierarchical Clustering:
  1. Menghitung Matriks Jarak: Langkah pertama adalah menghitung matriks jarak antar datapoint. Jarak ini bisa diukur menggunakan berbagai metrik, seperti Euclidean, Manhattan, atau metrik lainnya, tergantung pada jenis data yang sedang diolah.
  2. Inisialisasi Kelompok: Setiap data awalnya dianggap sebagai satu kelompok terpisah.
  3. Menggabungkan Kelompok Terdekat: Dua kelompok dengan jarak terdekat digabungkan menjadi satu kelompok baru. Proses ini terus berlanjut hingga semua data menjadi satu kelompok.
  4. Membuat Dendrogram: Proses penggabungan kelompok direpresentasikan dalam bentuk dendrogram. Dendrogram adalah diagram berbentuk pohon yang menunjukkan hierarki pengelompokkan data.
  5. Menentukan Jumlah Kelompok: Berdasarkan dendrogram, penentuan jumlah kelompok bisa dilakukan dengan memotong dendrogram pada tingkat tertentu.

Kegunaan Hierarchical Clustering

Algoritma hierarchical clustering digunakan dalam berbagai bidang, seperti:
  • Biologi: Untuk mengelompokkan spesies berdasarkan karakteristik genetik atau morfologi.
  • Ilmu sosial: Dalam analisis perilaku konsumen atau segmentasi pasar.
  • Ilmu komputer: Untuk segmentasi citra atau analisis teks.
  • Kedokteran: Dalam analisis data medis untuk pengelompokkan pasien berdasarkan gejala atau respons terhadap pengobatan.

Kekuatan utama dari algoritma ini adalah kemampuannya dalam menampilkan struktur hierarkis dari data, sehingga tidak perlu menentukan jumlah kelompok secara eksplisit sebelumnya.

Dalam kesimpulannya, algoritma hierarchical clustering merupakan alat yang kuat dan berguna untuk mengelompokkan data secara hierarkis, memfasilitasi pemahaman yang lebih dalam tentang hubungan antar datapoint dalam dataset yang kompleks.

Contoh Soal:

Mari jelaskan contoh sederhana dari penggunaan algoritma hierarchical clustering untuk mengelompokkan data. Misalkan seorang peneliti memiliki data berikut yang terdiri dari beberapa titik koordinat dalam bidang dua dimensi:

Tabel: Data Penelitian Algoritma Hierarchical Clustering
Data Point
A23
B33
C34
D53
E87
F75
G96

Selanjutnya, dengan menggunakan algoritma hierarchical clustering (dalam hal ini, metode Euclidean distance) dilakukan pengelompookan data menjadi dua kelompok.

Langkah 1: Menghitung Matriks Jarak

Pertama, hitung jarak antara setiap pasang data. Dalam kasus ini, digunakan Euclidean distance sebagai metrik jarak:

Jarak Euclidean antara dua titik p dan q dalam ruang dua dimensi diberikan oleh rumus:

Distance=(xqxp)2+(yqyp)2


Tabel Jarak Euclidean:

 

A

B

C

D

E

F

G

A

0,00

1,00

1,41

3,61

6,08

6,08

8,06

B

1,00

0,00

1,00

2,83

7,07

5,10

7,07

C

1,41

1,00

0,00

2,24

6,08

4,12

6,08

D

3,61

2,83

2,24

0,00

5,83

4,12

6,08

E

8,06

7,07

6,08

5,83

0,00

2,24

1,41

F

6,08

5,10

4,12

4,12

2,24

0,00

2,24

G

8,06

7,07

6,08

6,08

1,41

2,24

0,00


Langkah 2: Agglomerative Clustering

Dalam langkah ini, digunakan pendekatan agglomerative, yang berarti akan digabungkan dua titik terdekat secara berulang hingga semua titik menjadi satu kelompok.

Proses pengurutan dimulai dari jarak yang terkecil:
  • A dan B memiliki jarak 1,00.
  • C dan D memiliki jarak 2,24.
  • E dan F memiliki jarak 2,24.
  • B dan C memiliki jarak 1,00.
  • E dan G memiliki jarak 1,41.
  • A dan C memiliki jarak 1,41.
  • B dan F memiliki jarak 5,10.
  • A dan B memiliki jarak 1,00.
  • C dan F memiliki jarak 4,12.
  • D dan G memiliki jarak 6,08.
  • B dan E memiliki jarak 7,07.
  • C dan G memiliki jarak 6,08.
  • D dan F memiliki jarak 4,12.
  • A dan C memiliki jarak 1,41.
  • E dan G memiliki jarak 1,41.
  • B dan C memiliki jarak 1,00.

Langkah 3: Membuat Dendrogram

Dari informasi pada langkah 2, selanjutnya dibuat dendrogram yang merepresentasikan penggabungan kelompok secara bertahap seperti diperlihatkan pada gambar 1:

Gambar 1: Dendogram

Langkah 4: Terakhir, Menentukan Jumlah Kelompok atau Klaster

Jumlah kelompok ditentukan dengan cara memotong dendrogram pada tingkat yang diinginkan. Misalnya, jika ditentukan dua kelompok saja, maka dapat dilakukan pemotongan dendrogram ditingkat 4, yang akan membagi data menjadi dua kelompok: {A,B,C,D,F} dan {E,G}.

Ini adalah contoh tentang bagaimana algoritma hierarchical clustering dapat digunakan untuk mengelompokkan data. Dalam kasus nyata, metode ini sering digunakan dalam analisis data untuk menemukan pola atau struktur yang tersembunyi dalam dataset yang lebih besar dan kompleks.

Baca Juga:

Program Aplikasi

Berikut disajikan contoh program dalam bahasa C untuk implementasi algoritma Hierarchical Clustering.

Contoh: Implementasi algoritma hierarchical clustering dalam bahasa C. Program ini menggunakan Euclidean distance untuk menghitung jarak antara titik data.

#include <stdio.h>

#include <stdlib.h>

#include <math.h>


#define MAX_POINTS 100


typedef struct {

double x;

double y;

} Point;


typedef struct {

int cluster_id;

Point point;

} ClusterPoint;


double euclideanDistance(Point p1, Point p2) 

{

return 

sqrt(pow((p2.x - p1.x), 2

pow((p2.y - p1.y), 2));

}


void 

hierarchicalClustering(ClusterPoint* points, 

int num_points, 

int num_clusters) 

{

double 

distances[MAX_POINTS][MAX_POINTS] 

= {{0}};


int merged[MAX_POINTS] = {0};


for (int i = 0

i < num_points; 

++i) 

{


for (int j = i + 1

j < num_points; 

++j) 

{

distances[i][j] = 

euclideanDistance(points[i].point, 

points[j].point);


distances[j][i] = 

distances[i][j];

}

}


int num_remaining_clusters = 

num_points;

int cluster_id = num_points;


while (num_remaining_clusters > num_clusters) 

{

double min_distance =

INFINITY;

int min_i = -1, min_j = -1;


for (int i = 0

i < num_points; 

++i) 

{

if (merged[i]) continue;


for (int j = i + 1

j < num_points; 

++j) 

{

if (merged[j]) continue;


if (distances[i][j] < min_distance) 

{

min_distance = 

distances[i][j];


min_i = i;

min_j = j;

}

}

}


if (min_i != -1 && min_j != -1

{


for (int k = 0

k < num_points; 

++k) 

{

if (k != min_i && k != min_j && !merged[k]) 

{

distances[min_i][k] = 

fmin(distances[min_i][k], 

distances[min_j][k]);


distances[k][min_i] = 

distances[min_i][k];

}

}


merged[min_j] = 1;


points[min_i].point.x = 

(points[min_i].point.x 

+ points[min_j].point.x) 

/ 2.0;


points[min_i].point.y = 

(points[min_i].point.y 

+ points[min_j].point.y) 

/ 2.0;


points[min_j].cluster_id = 

cluster_id++;


num_remaining_clusters--;

}

}


printf("Clusters:\n");


for (int i = 0; i < num_points; ++i) 

{

if (!merged[i]) {


printf("Cluster %d: (%.2f, %.2f)\n"

points[i].cluster_id, 

points[i].point.x, 

points[i].point.y);

}

}

}


int main() {

Point data_points[] = {

{2, 3}, 

{3, 3}, 

{3, 4}, 

{5, 3}, 

{8, 7}, 

{7, 5}, 

{9, 6}

};


int num_points = 

sizeof(data_points) 

sizeof(data_points[0]);

    

ClusterPoint* cluster_points = 

(ClusterPoint*)malloc(num_points * sizeof(ClusterPoint));


for (int i = 0

i < num_points; 

++i) 

{

cluster_points[i].cluster_id = 

i;


cluster_points[i].point = 

data_points[i];

}


int num_clusters = 2

// Ganti sesuai dengan jumlah

// cluster yang diinginkan


hierarchicalClustering(cluster_points, 

num_points, 

num_clusters);


free(cluster_points);

return 0;

}

Output:
Clusters:
Cluster 0: (3.88, 3.25)
Cluster 4: (7.75, 5.75)

Penjelasan: Contoh program yang diperlihatkan sebelumnya merupakan implementasi sederhana dari algoritma hierarchical clustering dalam bahasa C untuk set data yang telah diberikan diberikan. Program ini menggunakan Euclidean distance untuk menghitung jarak antara titik-titik data. Jumlah cluster yang dihasilkan dapat diatur melalui variabel num_clusters dalam fungsi main() sesuai dengan kebutuhan.

Kelebihan Algoritma Hierarchical Clustering dalam Analisis Data

Dalam dunia analisis data, algoritma clustering memiliki peran penting dalam mengelompokkan data berdasarkan kesamaan fitur atau karakteristiknya. Beberapa kelebihan utama dari algoritma hierarchical clustering dalam analisis data adalah sebagai berikut:

Hierarki Kelompok yang Jelas

Salah satu kelebihan utama dari algoritma hierarchical clustering adalah kemampuannya untuk menciptakan struktur hierarkis atau dendrogram yang menunjukkan hubungan antar kelompok data. Dendrogram ini memungkinkan pengguna untuk dengan mudah memahami dan menganalisis tingkat kesamaan atau perbedaan antar kelompok secara visual. Ini memberikan wawasan yang kuat tentang struktur data yang tidak memerlukan penentuan jumlah kelompok sebelumnya, karena algoritma ini memberikan representasi hierarki yang berguna.

Tidak Memerlukan Jumlah Kelompok yang Ditetapkan Secara Awal

Algoritma hierarchical clustering tidak memerlukan jumlah kelompok yang harus ditentukan sebelumnya. Pendekatan ini memberikan keleluasaan yang lebih besar kepada pengguna untuk mengeksplorasi data tanpa harus memiliki pemahaman mendalam tentang struktur internalnya. Hal ini berguna dalam situasi di mana jumlah kelompok tidak jelas atau ketika ingin memahami lebih lanjut tentang pola-pola tersembunyi dalam data tanpa asumsi awal yang kuat.

Tidak Rentan terhadap Outlier

Dibandingkan dengan beberapa metode clustering lainnya, seperti K-Means, algoritma hierarchical clustering lebih toleran terhadap outlier atau titik data yang jauh dari kelompok lainnya. Hal ini karena algoritma ini tidak bergantung pada nilai rata-rata atau pusat kelompok tertentu, melainkan lebih fokus pada jarak atau kesamaan antar titik data.

Representasi Hierarki dalam Data Multidimensi

Algoritma hierarchical clustering dapat digunakan untuk data multidimensi tanpa perlu mengubah metode atau pendekatan secara signifikan. Ini membuatnya lebih serbaguna dalam mengelompokkan data yang memiliki banyak fitur atau dimensi, seperti dalam pengolahan citra, analisis genom, atau data biomedis.

Interpretasi yang Mudah

Dendrogram yang dihasilkan dari algoritma hierarchical clustering memungkinkan interpretasi yang mudah dan intuitif terhadap struktur data. Ini mempermudah dalam mengidentifikasi kelompok yang saling terkait atau mengevaluasi tingkat kesamaan antar kelompok dengan melihat tingkat percabangan pada dendrogram.

Kesimpulan

Algoritma hierarchical clustering adalah pendekatan yang kuat dalam analisis data karena kemampuannya untuk memberikan representasi hierarkis yang jelas, tidak memerlukan jumlah kelompok sebelumnya, toleran terhadap outlier, dan interpretasi yang mudah dari struktur data. Meskipun demikian, algoritma ini juga memiliki beberapa kelemahan, seperti kerumitan komputasi yang meningkat seiring jumlah data yang besar atau sensitivitas terhadap noise. Meskipun begitu, kelebihan yang dimiliki algoritma hierarchical clustering menjadikannya salah satu alat yang kuat dalam eksplorasi dan analisis data dalam berbagai bidang.

Referensi Tambahan:

Artikel ini didedikasikan kepada: Yusrina Fisabila Izza, Zahrafi Surya Masdifa, Zahro Atira Kholida, Zakia Poppy Oktaviani, dan Zakiyatul Munawaroh.

10 komentar untuk "Algoritma Hierarchical Clustering Tentang Pemahaman Pengelompokkan Data Bertingkat"

  1. Apa itu algoritma hierarchical clustering?

    BalasHapus
    Balasan
    1. Algoritma hierarchical clustering merupakan metode pengelompokkan data di mana datapoint dikelompokkan secara bertingkat atau hierarkis berdasarkan kedekatan atau kesamaan karakteristiknya. Algoritma ini membangun struktur hierarkis dalam bentuk dendrogram yang menggambarkan hubungan antar kelompok data.

      Hapus
  2. Apa perbedaan antara pendekatan agglomerative dan divisive dalam algoritma hierarchical clustering?

    BalasHapus
    Balasan
    1. Pendekatan agglomerative dimulai dengan setiap data dianggap sebagai satu kelompok dan secara bertahap menggabungkan kelompok-kelompok terdekat menjadi kelompok yang lebih besar. Sedangkan pendekatan divisive memulai dengan satu kelompok besar dan membaginya menjadi kelompok yang lebih kecil hingga tiap data menjadi satu kelompok.

      Hapus
  3. Bagaimana langkah-langkah umum dalam algoritma hierarchical clustering?

    BalasHapus
    Balasan
    1. Langkah-langkah umum dalam algoritma hierarchical clustering meliputi:
      1. Menghitung matriks jarak antara semua pasang datapoint.
      2. Inisialisasi setiap data sebagai satu kelompok terpisah.
      3. Menggabungkan kelompok terdekat secara berulang hingga semua data menjadi satu kelompok.
      4. Membuat dendrogram yang merepresentasikan struktur hierarkis dari proses penggabungan kelompok.

      Hapus
  4. Bagaimana cara menentukan jumlah kelompok pada algoritma hierarchical clustering?

    BalasHapus
    Balasan
    1. Jumlah kelompok dapat ditentukan dengan memotong dendrogram pada tingkat tertentu. Pemotongan ini dapat dilakukan dengan memperhatikan tingkat percabangan pada dendrogram dan memilih jumlah kelompok yang diinginkan sesuai dengan interpretasi data.

      Hapus
  5. Apa kelebihan utama dari algoritma hierarchical clustering?

    BalasHapus
    Balasan
    1. Salah satu kelebihan utama algoritma hierarchical clustering adalah kemampuannya dalam menampilkan struktur hierarkis dari data tanpa memerlukan jumlah kelompok yang harus ditentukan sebelumnya. Algoritma ini juga memberikan representasi visual yang jelas tentang hubungan antar kelompok melalui dendrogram.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -