Anda di halaman 1dari 4

Fuzzy C Means Clustering

Oleh : www.softscients.web.id

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
nearest neighbor, ataupun fuzzy c -means
clustering,, kohonen (versi LVQ unsupervisi).
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
means clustering.
Penulis menggunakan fuzzy c-means
means clustering untuk menentukan center tiap kelompok data. Kamu
bisa membaca tutorial di https://edrianhadinata.wordpress.com/2013/12/19/metode -clusteringalgoritma-fuzzy-cmeans/.
Penulis mengimplementasikan
entasikan nya menggunakan bahasa C# , kamu bisa melihat potongan kode berikut
double[,] data = new double[,]
double {
{10,8},
{4,5},
{2,3},
{9,7},
{0,1}
};
int data_n = data.GetLength
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
means clustering dapat digunakan untuk melakukan pengelompokan data klustering.