
Clustering adalah bahasan cukup sering kita dengar pada teknik data minning. Ada banyak teknik yang bisa kita gunakan, mulai dari algoritma kmeans clustering, k-nearest neighbor, ataupun fuzzy c-means clustering, kohonen (versi LVQ unsupervisi). Contoh kasus yang mudah digunakan yaitu bila melibatkan hanya 2 paramater saja karena bila diplotkan kedalam sumbu x dan y akan cukup mudah dilihat sebaran datanya!. Data berikut merupakan sebaran nilai dari 2 paramater

Bila kita plotkan menjadi berikut
Hal menarik dari distribusi data diatas adalah terjadinya pengelompokan data, untuk itu kita bisa menggunakan algoritma kmeans clustering, k-nearest neighbor, ataupun fuzzy c-means clustering.
Penulis menggunakan fuzzy c-means clustering untuk menentukan center tiap kelompok data. Kamu bisa membaca tutorial di https://edrianhadinata.wordpress.com/2013/12/19/metode-clustering-algoritma-fuzzy-cmeans/.
Penulis mengimplementasikan nya menggunakan bahasa C#, kamu bisa melihat potongan kode berikut
double[,] data = new double[,] {
{10,8},
{4,5},
{2,3},
{9,7},
{0,1}
};
int data_n = data.GetLength(0); //jumlah data
int in_n = data.GetLength(1); //jumlah paramater
int cluster_n = 2; //jumlah cluster
int max_iterasi = 10;
double min_impro = 0.0001;
int expo = 2; //sering disebut bobot
//sebagai nilai keanggotaan awal
double [,] U = new double[,] {
{0.3000, 0.6000, 0.7000, 0.4000,0.8000},
{0.7000, 0.4000, 0.3000, 0.6000, 0.2000}
};
FCM fcm = new FCM();
fcm.Hitung(data, U, cluster_n,expo, min_impro,max_iterasi);
double[,] UNew = fcm.UNew;
double[,] center = fcm.Center;
int[] kelas = fcm.Kelas;
Program.Cetak("Center ",center);
Program.Cetak("U Baru ",UNew);
Program.Cetak("Kelas ",kelas);
Menghasilkan
Center
1.751 2.75
9.349 7.428
U Baru
0.008 0.773 0.998 0.004 0.955
0.992 0.227 0.002 0.996 0.045
Kelas
1 0 0 1 0
Agar lebih informatif, penulis tulis kan saja dalam bentuk tabel di excel
Kita plotkan menjadi berikut
Fuzzy c-means clustering dapat digunakan untuk melakukan pengelompokan data – klustering.