Clustering adalah salah satu teknik dari algoritma machine learning yaitu unsupervised learning. Algoritma clustering membagi populasi atau data point dengan sifat yang sama  ke beberapa kelompok kecil untuk dikelompokkan. Teknik ini merupakan salah satu algoritma di dalam machine learning yang paling sering digunakan oleh perusahaan untuk melakukan segmentasi kepada customer mereka sehingga dapat meningkatkan penjualan di perusahaan mereka.

Untuk mendapatkan hasil yang optimal, tidak semua kondisi memungkinkan untuk diterapkannya algoritma clustering ini, terdapat beberapa kondisi, di mana metode clustering ini bisa diterapkan:

a. Saat analisis dimulai dengan dataset yang besar dan tidak terstruktur

Kondisi ini merupakan kondisi yang paling tepat untuk menggunakan algoritma clustering dikarenakan algoritma clustering dapat mengambil dataset dengan jumlah yang banyak, tanpa adanya instruksi lalu mengubahnya menjadi sesuatu yang berguna.

b. Saat tidak diketahui jumlah dari kelas yang ingin dibagi

Clustering adalah salah satu langkah yang tepat apabila kamu ingin memulai tahap data preparasi dikarenakan dengan algoritma clustering, business question yang ditetapkan dapat terjawab terkait dengan dataset.

c. Saat ingin mencari anomali pada dataset

Apabila ingin mencari anomali pada dataset, maka menggunakan algoritma clustering adalah pilihan yang tepat karena dengan algoritma ini, anomali pada data dapat diidentifikasi sehingga dapat membantu untuk mengoptimalkan hasil yang didapat untuk jangka panjang

Ketiga kondisi tersebut merupakan kondisi yang paling tepat untuk menggunakan algoritma clustering, namun seringkali terdapat juga kondisi, di mana algoritma clustering bukan merupakan jawaban dari permasalahan yang ditemui. Kondisi tersebut timbul apabila ingin dilakukan analisis yang lebih mendalam terhadap data. Terkadang setiap kelompok yang dipisahkan menggunakan algoritma clustering tidak selalu terkait dengan data itu sendiri namun terkait dengan titik lain sehingga dapat memberikan hasil yang berbeda secara signifikan bergantung pada jumlah grup yang ditetapkan sehingga lebih disarankan untuk melakukan analisis yang lebih intensif setelah menggunakan algoritma clustering ini.

Jenis-jenis metode dalam clustering

Terdapat beberapa jenis clustering yang dapat digunakan:

1. Centroid-based clustering

mengenal-clustering
Photo by researchgate.net/figure/Centroid-based-clustering-algorithm

Centroid-based clustering merupakan metode yang mengelompokkan data ke dalam non-hierarchical clusters, tipe cluster ini cenderung lebih efisien namun sensitif terhadap outlier. Tipe ini juga merupakan salah satu algoritma iteratif dalam clustering, di mana cluster dibentuk dari jarak terdekat antara titik data ke pusat cluster. Pusat cluster atau disebut centroid dibentuk dengan mempertimbangkan beberapa hal sehingga jarak titik data menjadi minimum dengan pusat.K-Means Clustering merupakan salah satu algoritma paling populer dari centroid-based clustering.

2. Density-based Clustering

mengenal-clustering
Photo by researchgate.net/figure/Density-based-Clustering

Density-based clustering menghubungkan area dengan kepadatan yang sama ke dalam satu kelompok, tipe ini memiliki kesulitan dengan data beragam kepadatan dengan dimensi yang tinggi. Dalam metode ini, cluster akan dibuat berdasarkan kepadatan dari masing masing data point. Nantinya wilayah yang menjadi padat karena banyaknya data point yang berada di wilayah akan dianggap sebagai satu kelompok/cluster. Sebaliknya, wilayah yang memiliki data point sangat sedikit akan dianggap sebagai noise atau outlier. Berikut beberapa contoh algoritma dari centroid-based clustering:

  • DBSCAN(Density-Based Spatial Clustering of Applications with Noise)
  • OPTICS(Ordering Points to Identify Clustering Structure)
  • HDBSCAN(Hierarchical Density-Based Spatial Clustering of Applications with Noise)

3. Distribution-based Clustering

mengenal-clustering
Photo by geeksforgeeks.org/different-types-clustering-algorithm

Tipe clustering ini mengasumsikan data terdiri dari distribusi, mirip seperti Gaussian Distributions. Dengan bertambahnya jarak dari pusat distribusi, maka probabilitas suatu titik termasuk ke dalam kelompok distribusi akan berkurang. Tipe ini bekerja dengan baik pada data sintesis dan cluster dengan ukuran yang beragam. Expectation-maximization merupakan salah satu algoritma yang mengimplementasikan distribution-based clustering

4. Hierarchical Clustering atau Connectivity based Cluster

mengenal-clustering
Photo by geeksforgeeks.org/ml-hierarchical-clustering-agglomerative-and-divisive-clustering

Implementasi dari tipe ini mirip dengan centroid-based clustering yang pada dasarnya mendefinisikan cluster berdasarkan jarak terdekat antara data point. Nantinya metode bekerja pada pemahaman bahwa data point yang lebih dekat akan memiliki perilaku yang sama dibandingkan dengan data point yang lebih jauh. Pengelompokkan data point akan direpresentasikan dengan menggunakan dendogram. Terdapat beberapa jenis hubungan dendogram:

  • Single Linkage: Pada single linkage, jarak antara dua cluster adalah jarak terpendek antara data point di dua cluster tersebut
  • Complete Linkage: Pada complete linkage, jarak antara dua cluster adalah jarak terjauh antara data point di kedua cluster tersebut
  • Average Linkage: Pada rata-rata linkage, jarak antara dua cluster adalah jarak rata-rata setiap data point dalam cluster dengan setiap data point pada cluster lainnya

Keempat metode clustering tersebut yang akan digunakan untuk menganalisis data serta membuat model untuk meningkatkan penjualan di perusahaan.

Cara kerja clustering

Clustering adalah algoritma yang bekerja dengan menerapkan algoritma-algoritma yang ada di dalamnya, K-Means Clustering algoritma yang paling sering digunakan dalam mengimplementasikan clustering.

K-Means Clustering merupakan sebuah algoritma iteratif yang digunakan untuk mengelompokkan kumpulan data ke dalam cluster yang sebelumnya telah ditentukan, di mana setiap data point hanya dimiliki oleh satu cluster saja. Tujuan ditetapkannya data point ke dalam cluster agar nantinya jumlah jarak kuadrat antara data point dengan pusat cluster menjadi minimum. Semakin sedikit variasi yang dimiliki dalam cluster, semakin mirip data point berada dalam cluster yang sama. Algoritma ini seringkali digunakan untuk melakukan market segmentation, clustering terhadap dokumen, image segmentation, image compression dan masih banyak lagi. Berikut merupakan cara kerja/proses dari K-Means Clustering:

  • Menentukan nilai dari cluster K(nilai dari cluster k itu sembarang, bisa angka berapapun)
  • Menempatkan data point ke setiap cluster yang ada
  • Menentukan centroid dengan mengacak dataset yang ada dan secara acak menentukan K data point untuk tempat centroid
  • Lakukan perulangan secara terus menerus hingga tidak ada lagi perubahan pada centroids

Setelah didapatkan hasil akhir dari k-means clustering, maka dilakukan evaluasi dengan 2 metode yaitu Elbow Method dan Silhouette Method:

1. Elbow Method

mengenal-clustering
Photo by oreilly.com/library/view/statistics-for-machine

Elbow Method memberikan gambaran tentang berapa jumlah k cluster yang baik dengan berdasarkan pada jumlah jarak kuadrat(SSE) antara data point dengan centroid cluster yang ditetapkan. Dinamakan elbow method karena grafik yang dibuat membentuk sebuah siku manusia. Nantinya lekukan siku pada grafik menunjukkan berapa banyak cluster untuk menerapkan k-means clustering yang optimal

2. Silhouette Method

mengenal-clustering
Photo by researchgate.net/figure/Silhouette-method-Hierarchical-clustering

Silhouette Method memiliki fungsi yang sama dengan elbow method, yaitu untuk mencari banyaknya cluster agar implementasi dari k-means clustering menjadi optimal, bedanya hanya di tahap pengerjaan. Metode ini melakukan komputasi terhadap koefisien silhouette dari setiap data point untuk mengukur seberapa mirip sebuah point dengan cluster miliknya sendiri. Nilai dari silhouette berkisar antara 1 hingga -1, di mana semakin tinggi nilai, maka mengindikasikan objek tersebut semakin cocok dengan cluster miliknya sendiri dan tidak cocok dengan cluster lain.

Nah, itu dia hal hal mengenai clustering mulai dari definisi hingga cara kerja. Clustering tidak dapat dipelajari dalam waktu yang singkat, butuh waktu dan latihan yang banyak untuk memahaminya. Nah, apakah kamu tertarik dengan topik ini? Untuk memperdalam ilmu di bidang data, kamu bisa ikutin terus blog Coding Studio agar bisa menambah wawasanmu tentang data!