Algoritma K-Medoids Clustering


Algoritma K-Medoids Clustering adalah salah satu algoritma yang digunakan untuk klasifikasi atau pengelompokan data. Contoh yang dibahas kali ini adalah mengenai penentuan jurusan siswa berdasarkan nilai skor siswa.
Algoritma ini memiliki kemiripan dengan Algoritma K-Means Clustering, tetapi terdapat beberapa perbedaan utama, dimana apabila pada Algoritma K-Means Clustering, nilai tengah dihitung dengan rata-rata (mean) dan perhitungan jarak dihitung dari data pada masing-masing mean, sedangkan pada algoritma ini, data akan digunakan sebagai nilai tengah / disebut dengan medoid, dan perhitungan jarak dihitung dari jarak antar masing-masing data.



Diasumsikan ada 20 orang siswa, yaitu siswa A sampai dengan T
Masing-masing siswa memiliki rata-rata nilai IPA, IPS, dan Bahasa yang berbeda-beda
Maka tentukan semua siswa tersebut akan masuk ke dalam jurusan apa berdasarkan nilai skor yang dimiliki
Diasumsikan data awal nilai siswa adalah sebagai berikut

Nama Siswa Nilai IPA Nilai IPS Nilai Bahasa
Siswa A 50 60 70
Siswa B 65 80 73
Siswa C 72 70 65
Siswa D 83 65 80
Siswa E 40 82 73
Siswa F 95 71 85
Siswa G 60 74 96
Siswa H 75 75 92
Siswa I 83 55 70
Siswa J 91 60 65
Siswa K 92 91 55
Siswa L 76 80 59
Siswa M 75 65 74
Siswa N 74 76 89
Siswa O 63 79 69
Siswa P 58 93 76
Siswa Q 82 50 80
Siswa R 81 65 88
Siswa S 76 74 70
Siswa T 77 71 55

Langkah pertama adalah memasukkan data-data yang digunakan.
Contoh data awal adalah sebagai berikut:



Sebelum masuk kedalam langkah-langkah pembahasan algoritma, ada beberapa konstanta atau parameter yang harus diketahui, yaitu:
* Tentukan Jumlah Cluster
Jumlah Cluster adalah jumlah dari pengelompokan data yang ingin dilakukan
Jumlah Cluster nilainya harus diantara 2 dan jumlah data
Diasumsikan dalam kasus ini, jumlah pengelompokan data ada 3 kelompok, yaitu jurusan IPA, jurusan IPS, jurusan Bahasa


Langkah-langkah penggunaan algoritma ini adalah

* Lakukan proses pengelompokan dengan metode K-Medoids Clustering
Penjelasan tentang fungsi ini akan dijelaskan pada perhitungan dibawah ini (poin 1 – 6)

Memasuki perhitungan utama pada fungsi kMedoids

1. Hitung jumlah data pada matriks data

2. Hitung matriks v
Lakukan perkalian matriks data dengan dirinya sendiri
dan jumlahkah nilai yang terdapat dalam masing-masing dimensi untuk setiap data

3. Hitung matriks jarak, yang disimbolkan dengan D
Lakukan penjumlahan nilai baris matriks v dengan nilai kolom dari transpos matriks v
Kemudian kurangkan dengan 2 kali dari matriks data dikali dengan transpos matriks data

4. Tentukan medoid awal mula, yang diisi dengan nilai acak dari angka 1 sampai jumlah data, sebanyak jumlah cluster
Ambil semua nilai dari masing-masing baris data pada nilai acak tersebut
Kemudian bandingkan nilai minimal dari masing-masing data untuk membentuk daftar cluster mula-mula

5. lakukan perhitungan selama masih ada data yang berpindah cluster (poin 5a -5c)

5a. Ambil daftar cluster lama sebagai daftar cluster terakhir

5b. Tentukan data acak selain medoid lama untuk menggantikan nilai medoid lama
Lakukan pencatatan indeks cluster yang lama
Lakukan perkalian indeks tersebut dengan matriks D
Kemudian cari indeks data yang nilai minimal pada masing-masing cluster

5c. Ambil semua nilai dari masing-masing baris data pada indeks yang telah ditentukan sebelumnya
Kemudian hitung nilai minimal dari matriks indeks D untuk mendapatkan nilai minimal dan daftar cluster yang baru

6. Jika diperlukan, hitung penjumlahan nilai minimal yang didapatkan pada matriks D akhir

* Tampilkan semua data yang sudah dimasukan ke dalam cluster
Hitung nilai skornya untuk masing-masing kriteria dalam cluster tersebut
Ambil nilai skor tertinggi sebagai jawaban jurusan yang seharusnya diambil


Hasil akhir adalah:


Contoh modul / source code menggunakan Matlab dapat didownload disini:



Jika membutuhkan jasa kami dalam pembuatan program, keterangan selanjutnya dapat dilihat di Fasilitas dan Harga
Jika ada yang kurang paham dengan langkah-langkah algoritma diatas, silahkan berikan komentar Anda.
Selamat mencoba.

Tinggalkan sebuah komentar

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *