Fuzzy CMeans (FCM)
Posted on June 7, 2011Fuzzy CMeans (FCM) Merupakan suatu teknik pengclusteran data dimana tiaptiap data dalam suatu cluster ditentukan oleh derajat keanggotaannya. Terdapat beberapa perbedaan yang mendasar antara teknik pengclusteran klasik dengan teknik pengclusteran fuzzy yaitu pada partisi clustering yang bersifat klasik, suatu data hanya menjadi anggota pada satu cluster saja, sedangkan pada partisi fuzzy suatu data bisa menjadi anggota pada dua cluster yang berbeda. Hal ini disebabkan karena nilai keanggotaan suatu data pada partisi fuzzy terletak pada interval 0 sampai dengan 1. Konsep FCM antara lain:
Penentuan pusat cluster yang menandai lokasi ratarata untuk tiap cluster, dengan kondisi awal tidak akurat.
Tiap data memiliki derajat keanggotaan untuk masingmasing cluster.
Dengan perulangan yang didasarkan pada minimisasi fungsi obyektif, pusat cluster dan nilai kenaggotaan diperbaiki. Sehingga lokasi cluster bisa berada pada posisi yang benar.
Misal Pengelompokkan data Arus laut menggunakan metode fuzzy cluster – mean dilakukan dengan matlab, yaitu dengan menuliskan syntax pada editor matlab.
0
0
Arus= []; %masukkan data yang akan dicluster di dalam tanda []
[center,U,obj_fcn] = fcm Arus, ; %syntax clustering dengan cluster
maxU = max U ;
index = find U ,: == maxU ; index = find U ,: == maxU ; index = find U ,: == maxU ; index = find U ,: == maxU ; index = find U ,: == maxU ; index = find U ,: == maxU ; index = find U ,: == maxU ;
figure %plotting untuk data clustering ke
plot Arus index , ,'o','color','b' ; title 'Fuzzy Clustering Kecepatan m/s '
xlabel 'Banyak Data'
ylabel 'Kecepatan m/s '
figure %plotting untuk data clustering ke
plot Arus index , ,'x','color','r' ; title 'Fuzzy Clustering Kecepatan m/s '
xlabel 'Banyak Data'
ylabel 'Kecepatan m/s '
figure %plotting untuk data clustering ke
Adapun beberapa syntax yang digunakan untuk metode fuzzy cluster – title 'Fuzzy Clustering Kecepatan m/s '
xlabel 'Banyak Data'
ylabel 'Kecepatan m/s '
figure %plotting untuk data clustering ke
plot Arus index , ,'x','color','c' ; title 'Fuzzy Clustering Kecepatan m/s '
xlabel 'Banyak Data'
ylabel 'Kecepatan m/s '
figure %plotting untuk data clustering ke
plot Arus index , ,'o','color','m' ; title 'Fuzzy Clustering Kecepatan m/s '
xlabel 'Banyak Data'
ylabel 'Kecepatan m/s '
figure %plotting untuk data clustering ke
plot Arus index , ,'x','color','b' ; title 'Fuzzy Clustering Kecepatan m/s '
xlabel 'Banyak Data'
ylabel 'Kecepatan m/s '
figure %plotting untuk data clustering ke
plot Arus index , ,'o','color','r' ; title 'Fuzzy Clustering Kecepatan m/s '
xlabel 'Banyak Data'
ylabel 'Kecepatan m/s '
min Arus index , %menentukan niai minimum untuk cluster
max Arus index , %menentukan niai maksimum untuk cluster
dari iterasi tercapai atau ketika perbaikan fungsi tujuan antara dua iterasi berturutturut kurang dari jumlah minimum perbaikan ditentukan.
Pada gambar diatas merupakan contoh distribusi ketinggian
gelombang pada titik pengamatan Laut Jawa dengan menggunakan fuzzy clustering di matlab. Data terdistribusi pada pusat cluster Center =1.4299, dan mempunyai nilai Min = 1.29 dan Max= 1.58 dan