Machine Learning: Hierarchical Clustering

Machine Learning: Hierarchical Clustering

Bahasa R

# Mengimpor dataset
dataset = read.csv('Pengunjung_mall.csv')
dataset = dataset[4:5]

# Menggunakan dendrogram untuk menemukan angka cluster yang optimal
dendrogram = hclust(d = dist(dataset, method = 'euclidean'), method = 'ward.D')
plot(dendrogram,
     main = paste('Dendrogram'),
     xlab = 'Pelanggan',
     ylab = 'Jarak Euclidean')

# Mengaplikasikan Hierarchical Clustering ke dataset
hc = hclust(d = dist(dataset, method = 'euclidean'), method = 'ward.D')
y_hc = cutree(hc, 5)

# Visualisasi hasil clusters
library(cluster)
clusplot(dataset,
         y_hc,
         lines = 0,
         shade = TRUE,
         color = TRUE,
         labels= 2,
         plotchar = FALSE,
         span = TRUE,
         main = 'Klusters pelanggan',
         xlab = 'Pendapatan tahunan',
         ylab = 'Rating pengeluaran')

Penjelasan:

  • Line 2 adalah mengimpor dataset
  • Line 3 adalah melakukan slicing dataset. Kita hanya menginginkan kolom ke 4 (penghasilan tahunan) dan 5 (rating pengeluaran rutin) saja.
  • Line 6 mendefinisikan variabel dendrogram untuk membuat dendrogram dengan perintah hclust. Parameter yang kita isikan selanjutnya adalah untuk d kita isi dengan distribusi dari variabel dataset dengan metode euclidean. Kemudian untuk metode hclust nya sendiri kita pilih ward.D. Tips: Untuk bisa melihat parameter apa saja yang diperlukan, arahkan kursor pada hclust dan ketik F1 di keyboard. Jika sudah tampilannya tampak sebagai berikut:
Parameter hclust di R
  • Line 7-11 adalah perintah untuk visualisasi dendogramnya. Jika dieksekusi akan tampak sebagai berikut:
Hasil dendrogram di R

Setelah melihat dendrogram di atas, kita tentukan bahwa jumlah klusternya adalah 5. Mengapa memilih 5 bisa dilihat penjelasannya di pembahasan python pada halaman sebelumnya.

  • Line 13 mendefinisikan variabel hc sebagai objek dari metode HC. Saya membuat sama persis seperti line 6, hanya saja namanya bukan dendrogram tapi hc agar mudah dibedakan.
  • Line 14 mendefinisikan variabel y_hc untuk menentukan pemotongan dari dendogramnya, dalam hal ini batas klusternya (threshold) dengan jumlah kluster adalah 5. Perintah yang digunakan adalah cutree. Jika dicek parameternya dengan menekan F1 maka akan tampak sebagai berikut:
Parameter cutree di R
  • Line 17 mengaktifkan library cluster. Biasanya sudah terinstall di RStudio.
  • Line 18-28 adalah untuk visualisasi hasil kluster dengan menggunakan perintah clusplot. Hasilnya akan tampak sebagai berikut:
Visualisasi beberapa kluster yang terbentuk melalui teknik HC

Sekarang kita bisa melihat ada 5 kluster yang terbentuk. Dengan demikian pemilik mall bisa menggunakan strategi bisnis yang berbeda-beda untuk masing-masing kluster. Pembahasan mengenai contoh penerapan strateginya sudah dibahas di link ini.


Saya harap sampai di sini pembaca bisa memahami konsep dari teknik HC (Hierarchical Clustering). Dengan teknik ini kita bisa mengelompokkan dataset ke dalam beberapa kluster, dan biarkan algoritma mempelajari pola-pola yang ada di datasetnya.

Semoga pembaca bisa mengaplikasikannya untuk masalah nyata. Jika ada pertanyaan bisa memberikan komentar di bawah.

Semoga bermanfaat.

Pages: 1 2 3 4

Subscribe
Notify of
guest

2 Comments
Oldest
Newest Most Voted
Bams
Bams
5 years ago

Pak mau bertanya, jika di regression bisa pake MSE MAPE, klasifikasi pake confussion matrix dll, lalu apakah ada cara untuk mengecek keakuratan/keefektifan dari clustering?
Terima kasih