Mengelompokkan Data dengan Teknik Clustering

Post image

Setelah kita membahas Regresi dan Klasifikasi pada post sebelumnya, yang merupakan tipe machine learning Supervised, sekarang kita akan membahas tipe machine learning yang lain, yaitu Unsupervised Learning.

Berbeda dengan Supervised Learning yang memerlukan label pada data training, Unsupervised Learning tidak memerlukan label. Tujuan dari Unsupervised Learning adalah untuk menemukan pola tersembunyi dalam data tanpa bantuan label.

Beberapa teknik unsupervised learning:

  • Clustering: Mengelompokkan data berdasarkan kesamaan fitur.
  • Association: Menemukan hubungan antar item dalam dataset.
  • Dimensionality Reduction: Mengurangi dimensi data dengan tetap mempertahankan informasi yang penting.
  • Anomaly Detection: Mendeteksi data yang tidak biasa dalam dataset.

Apa itu Clustering?

Clustering adalah teknik yang digunakan untuk mengelompokkan data menjadi beberapa grup berdasarkan kemiripan di antara data tersebut. Semakin tinggi tingkat kemiripan dalam satu grup (intra-cluster), dan semakin besar perbedaan antar grup (inter-cluster), semakin baik hasil clustering-nya.

Penerapan Clustering

Clustering sering digunakan dalam berbagai bidang, seperti:

  • Mengelompokkan pelanggan berdasarkan perilaku pembelian.
  • Mengelompokkan dokumen berdasarkan topik atau subjek.
  • Mengelompokkan piksel dalam citra berdasarkan warna atau tekstur.
  • Mengelompokkan pengguna berdasarkan preferensi mereka.

Intuisi Clustering

Kemiripan dua data dapat diukur menggunakan beberapa metrik, seperti:

  • Euclidean Distance: Jarak antara dua data dalam ruang Euclidean.
  • Cosine Similarity: Ukuran kemiripan antara dua vektor dalam ruang berdimensi banyak.
  • Jaccard Similarity: Ukuran kemiripan antara dua himpunan data.
  • Manhattan Distance: Jarak antara dua data dalam ruang Manhattan.
  • Dot Product: Perkalian antara dua vektor.

Algoritma Clustering

Beberapa algoritma clustering yang populer:

K-Means

K-Means adalah algoritma clustering yang paling umum digunakan. Algoritma ini bekerja dengan cara mengelompokkan data ke dalam K cluster, di mana K adalah jumlah cluster yang diinginkan. K-Means bekerja dengan cara menghitung jarak antara data dan centroid, lalu mengelompokkan data ke dalam cluster yang memiliki centroid terdekat.

Proses ini bertujuan meminimalkan jarak antar data dengan centroid dalam cluster yang sama, serta memaksimalkan jarak antar centroid dari cluster yang berbeda.

Tantangan dari K-Means adalah initial centroid yang dipilih secara acak, sehingga hasil clustering bisa berbeda-beda setiap kali dijalankan.

Limitasi dari K-Means adalah:

  • Rentan terhadap outliers.
  • Menghasilkan cluster yang berbeda dibandingkan klasifikasi yang sebenarnya.
  • Tidak cocok untuk data dengan bentuk yang tidak globular.

Hierarchical Clustering

Hierarchical Clustering adalah algoritma clustering yang mengelompokkan data ke dalam struktur pohon (dendrogram). Algoritma ini memiliki dua pendekatan:

  • Agglomerative: Dimulai dengan setiap data sebagai cluster terpisah, lalu menggabungkan cluster yang paling mirip satu sama lain.
  • Divisive: Dimulai dengan satu cluster yang berisi semua data, lalu membagi cluster menjadi cluster yang lebih kecil.

Teknik ini fleksibel karena tidak mengasumsikan jumlah cluster tertentu dan dapat memotong dendrogram untuk mendapatkan jumlah cluster yang diinginkan. Namun, metode ini memiliki kompleksitas waktu yang lebih tinggi dibandingkan metode lain.

Linkage methods yang digunakan dalam Hierarchical Clustering:

  • Single Linkage: Menggunakan jarak terkecil antara dua data dalam dua cluster yang berbeda.
  • Complete Linkage: Menggunakan jarak terjauh antara dua data dalam dua cluster yang berbeda.
  • Average Linkage: Menggunakan rata-rata jarak antara dua data dalam dua cluster yang berbeda.
  • Centroid Linkage: Menggunakan jarak antara centroid dua cluster.

DBSCAN (Density-Based Spatial Clustering of Applications with Noise)

DBSCAN adalah algoritma clustering yang bekerja berdasarkan kerapatan data. Algoritma ini mengelompokkan data yang memiliki kerapatan yang tinggi menjadi satu cluster, sementara data yang berada di daerah yang jarang dianggap sebagai noise.

DBSCAN memiliki dua parameter utama:

  • Eps: Jarak maksimum antara dua data agar dianggap sebagai tetangga.
  • MinPts: Jumlah minimum data dalam radius Eps agar data tersebut dianggap sebagai core point.

DBSCAN memiliki kelebihan:

  • Dapat mengatasi outliers.
  • Tidak memerlukan jumlah cluster sebagai input.
  • Dapat mengatasi cluster dengan bentuk yang kompleks.

Namun, DBSCAN memiliki kelemahan:

  • Sensitif terhadap parameter Eps dan MinPts.
  • Tidak cocok untuk data dengan kerapatan yang seragam.

Evaluasi Clustering

Ada beberapa metrik yang dapat digunakan untuk mengevaluasi hasil clustering:

  • Silhouette Score: Mengukur seberapa baik data telah dikelompokkan. Rentang nilai dari -1 hingga 1, di mana nilai yang lebih tinggi menunjukkan hasil clustering yang lebih baik.
  • Davies-Bouldin Index: Mengukur seberapa baik cluster telah dipisahkan satu sama lain. Nilai yang lebih rendah menunjukkan hasil clustering yang lebih baik.
  • Calinski-Harabasz Index: Mengukur seberapa baik cluster telah dipisahkan satu sama lain. Nilai yang lebih tinggi menunjukkan hasil clustering yang lebih baik.
  • Sum of Squared Errors (SSE): Mengukur seberapa baik data telah dikelompokkan ke dalam cluster. SSE yang lebih rendah menunjukkan hasil clustering yang lebih baik.

Menentukan Jumlah Cluster

Menentukan jumlah cluster yang optimal adalah tantangan dalam clustering. Beberapa metode yang dapat digunakan untuk menentukan jumlah cluster:

  • Elbow Method: Memplot nilai SSE untuk berbagai jumlah cluster, lalu menentukan titik di mana penurunan SSE menurun secara signifikan.
  • Silhouette Method: Memplot nilai silhouette score untuk berbagai jumlah cluster, lalu memilih jumlah cluster yang memberikan nilai silhouette score tertinggi.

Kesimpulan

Clustering adalah teknik yang berguna untuk mengelompokkan data berdasarkan kemiripan fitur. Dengan clustering, kita dapat menemukan pola tersembunyi dalam data, mengelompokkan data yang serupa, dan membuat keputusan yang lebih baik.

Dengan memahami konsep clustering dan algoritma clustering yang populer, kita dapat menerapkan teknik ini dalam berbagai bidang, seperti pemasaran, rekomendasi produk, analisis citra, dan lainnya.

comments powered by Disqus

You May Also Like

Jenis-jenis Machine Learning

Jenis-jenis Machine Learning

Machine learning adalah salah satu cabang dari kecerdasan buatan (Artificial Intelligence) yang memungkinkan sistem komputer untuk belajar dari data, mengidentifikasi pola, dan membuat keputusan dengan sedikit atau tanpa campur tangan manusia.