0% menganggap dokumen ini bermanfaat (0 suara)
204 tayangan

Modul Data Mining PDF

Dokumen ini membahas tentang clustering data menggunakan metode K-Means dan Fuzzy C-Means. Ia menjelaskan konsep dasar dari kedua metode tersebut secara matematis dan melakukan simulasi untuk membandingkan hasilnya. Dokumen ini juga menggunakan bahasa pemrograman MATLAB untuk melakukan simulasi clustering data.

Diunggah oleh

Noveta
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
204 tayangan

Modul Data Mining PDF

Dokumen ini membahas tentang clustering data menggunakan metode K-Means dan Fuzzy C-Means. Ia menjelaskan konsep dasar dari kedua metode tersebut secara matematis dan melakukan simulasi untuk membandingkan hasilnya. Dokumen ini juga menggunakan bahasa pemrograman MATLAB untuk melakukan simulasi clustering data.

Diunggah oleh

Noveta
Hak Cipta
© © All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 21

1

DAFTAR ISI

HALAMAN JUDUL........................................................................................................................... 0
BAB 1 ..................................................................................................................................................... 3
PENDAHULUAN .................................................................................................................................. 3
1.1 MATLAB (Matrix Laboratory) .................................................................................................... 4
1.2 Fuzzy C-Means (FCM) ................................................................................................................ 8
1.3 K-Means ....................................................................................................................................... 9
BAB 2 ................................................................................................................................................... 12
KONSEP/TEORI MATEMATIS........................................................................................................ 12
METODE CLUSTERING K-MENAS DAN FUZZY C-MEANS...................................................... 12
2.1. Fuzzy C-Means ..................................................................................................................... 12
2.2. K-Means Clustering ............................................................................................................. 14
BAB 3 ................................................................................................................................................... 15
SIMULASI DATA ............................................................................................................................... 15
3.1 Fuzzy C-Means .......................................................................................................................... 15
3.2 K-Means ..................................................................................................................................... 16
BAB 4 ................................................................................................................................................... 19
PENUTUP............................................................................................................................................ 19
4.1 Kesimpulan ................................................................................................................................ 19
DAFTAR PUSTAKA .......................................................................................................................... 20

2
BAB 1

PENDAHULUAN

Perkembangan teknologi informasi yang semakin canggih saat ini, telah menghasilkan
banyak tumpukan data. Pertambahan data yang semakin banyak akan menimbulkan pertanyaan
besar, yaitu “apa yang dapat dilakukan dari tumpukan data tersebut?”. Untuk menjawab
pertanyaan tersebut, dapat diterapkan sebuah teknologi basis data yang dikenal dengan data
mining. Data mining dapat diterapkan untuk menggali nilai tambah dari suatu kumpulan data
berupa pengetahuan yang selama ini tidak diketahui secara manual. Terdapat beberapa teknik
yang digunakan dalam data mining, salah satu teknik data mining adalah clustering. Terdapat
dua jenis metode clustering yang digunakan dalam pengelompokkan data, yaitu hierarchical
clustering dan non-hierarchical clustering. K-means clustering sebagai salah satu metode data
clustering non-hirarki mempartisi data yang ada ke dalam bentuk satu atau lebih cluster atau
kelompok, sehingga data yang memiliki karakteristik yang sama dikelompokkan ke dalam satu
cluster yang sama dan data yang mempunyai karakteristik yang berbeda dikelompokkan ke
dalam kelompok yang lain. Kelompok atau cluster yang didapat merupakan
pengetahuan/informasi yang bermanfaat bagi pengguna kebijakan dalam proses pengambilan
keputusan.

3
1.1 MATLAB (Matrix Laboratory)

MATLAB (Matrix Laboratory) adalah sebuah program untuk analisis dan komputasi
numerik dan merupakan sebuah bahasa pemrograman matematika lanjutan yang di bentuk
dengan dasar pemikiran menggunakan sifat dan bentuk matrik.
Matlab adalah sebuah bahasa dengan kinerja tinggi (high-performance) untuk komputasi
masalah teknik. Matlab mengintegrasikan komputasi, visualisasi, dan pemrograman dalam suatu
model yang sangat mudah untuk dipakai dimana masalah - masalah penyelesainnya
diekspresikan dalam notasi matematika yang familiar.
Penggunaan Matlab meliputi bidang - bidang:
 Matematika dan Komputasi

 Pembentukan Algorithm

 Akusisi data

 Pemodelan, simulasi, dan pembuatan prototype

 Analisa data, exsplorasi, dan visualisasi

 Grafik Keilmuan dan bidang Rekayasa

Matlab merupakan suatu sistem interaktif yang memiliki elemen data dalam suatu array
sehingga tidak lagi kita pusingkan dengan masalah dimensi. Hal ini memungkinkan kita untuk
memecahkan banyak masalah teknis yang berkaitan dengan komputasi, khususnya yang
berhubungan dengan matrix dan formulasi vektor, yang mana masalah tersebut merupakan
momok apabila kita harus menyelesaikannya dengan menggunakan bahasa level rendah seperti
Pascal, C dan Basic.
Nama MATLAB merupakan singkatan dari matrix laboratory. Matlab pada awalnya
ditulis untuk memudahkan akses perangkat lunak matrix yang telah dibentuk oleh LINPACK dan
EISPACK. Saat ini perangkat Matlab telah menggabung dengan LAPACK dan BLAS library,
yang merupakan satu kesatuan dari seni tersendiri dalam perangkat lunak untuk komputasi
matrix. Dalam lingkungan perguruan tinggi teknik, Matlab merupakan perangkat standar untuk
memperkenalkan dan mengembangkan penyajian materi matematika, rekayasa dan keilmuan.
Di industri, Matlab merupakan perangkat pilihan untuk penelitian dengan
produkifitasyang tinggi, pengembangan dan analiasanya. Fitur - fitur Matlab sudah banyak
dikembangkan, dan lebih kita kenal dengan nama toolbox. Sangat penting bagi seorang pengguna
Matlab untuk mengetahui toolbox mana yang mendukung untuk learn dan apply technology yang

4
sedang dipelajarinya. Toolbox - toolbox ini merupakan kumpulan dari fungsi - fungsi Matlab
(MFiles) yang telah dikembangkan ke suatu lingkungan kerja Matlab untuk memecahkan
masalah dalam kelas particular. Area - area yang sudah bisa dipecahkan dengan toolbox saat ini
meliputi pengolahan sinyal, system kontrol, neural networks, fuzzy logic, wavelets, dan lain -
lain.
Sistem MATLAB terdiri atas lima bagian utama :
1. Development Environment. Ini adalah kumpulan semua alat-alat dan fasiltas untuk membantu kita
dalam menggunakan fungsi dan file MATLAB. Bagian ini memuat desktop, Command window,
command history, editor and debugger, dan browser untuk melihat help, workspace, files.
2. The MATLAB Mathematical Function Library. Bagian ini adalah koleksi semua algoritma
komputasi, mulai dari fungsi sederhana seperti sum, sine, cosine sampai fungsi lebih rumit seperti,
invers matriks, nilai eigen, fungsi Bessel dan fast Fourier transform.
3. The MATLAB language. Ini adalah bahasa matriks/array level tinggi dengan control flow, fungsi,
struktur data, input/output, dan fitur objek programming lainnya.
4. Graphics. MATLAB mempunyai fasilitas untuk menampilkan vector dan matriks sebagai grafik.
Fasilitas ini mencakup visualisasi data dua / tiga dimensi, pemrosesan citra (image), animasi, dan
grafik animasi.
5. The MATLAB Application Program Interface (API). Paket ini memungkinkan kita menulis bahasa
C dan Fortran yang berinteraksi dengan MATLAB. Ia memuat fasilitas untuk pemanggilan kode-
kode dari MATLAB (dynamic linking), yang disebut MATLAB sebagai mesin penghitung, dan
untuk membaca dan menulis MAT-files.

Command Window
Kita dapat membuka MATLAB dengan mengklik icon MATLAB pada desktop
komputer atau dapat pula dengan memilih folder MATLAB pada program group. Selanjutnya
kita akan melihat tampilan yang disebut command window. Window ini memungkinkan kita
menulis perintah-perintah sederhana. Untuk menghapus perintah yang masih tersisa pada
command window, ketik clc kemudian tekan Enter. Namun perintah tersebut tetap aktif. Untuk
menonaktifkannya anda ketik clear. Untuk menjalankan komputasi sederhana, ketik perintahnya
kemudian tekan Enter.

5
Sebagai contoh :
>> s = 2 + 3
s=5
>> fun = sin(pi/4)
fun = 0.7071

Pada contoh kedua, fungsi trigonometri sinus dan bilangan p dinamai dalam
MATLAB dengan sin dan pi. Diingatkan bahwa hasil-hasil pada komputasi di atas tersimpan
dalam bentuk variabel, yang namanya dapat dipilih oleh user. Variabel-variabel ini dapat dipanggil
kembali dengan mengetik namanya kemudian tekan Enter.
Misalnya :
>> s
s=3
Penulisan variabel : Dimulai dengan letter, dapat diikuti dengan letter atau angka
atau underscore. MATLAB hanya dapat mengenal 31 karakter pertama dari nama variabel.
Mengubah format tampilan : Terdapat beberapa format tampilan bilangan pada
MATLAB. Format standard (default) adalah short ( empat digit setelah tanda decimal) . Untuk
menampilkan digit yang lebih banyak lakukan sebagai berikut :
klik File – pilih Preferences – klik Numerical Format – pilih
format yang diinginkan Kita juga dapat memilih format langsung dari command window.
Misalnya,
>> format long
>> fun
fun = 0.70710678118655
Untuk mengembalikan ke format standard, lakukan
>> format short
>> fun
fun = 0.7071

Beberapa format bilangan pada command window :


1. format default

6
2. format short : fixed point with 5 digits.
3. format long : fixed point format with 15 digits.
4. format short e : floating point format with 5 digits.
5. format long e : floating point format with 15 digits.
6. format short g : best of fixed or floating point format with 5 digits.
7. format long g : best of fixed or floating point format with 15 digits.
8. format hex : hexadecimal format.
9. format + : the symbols +, - and blank are printed for
positive, negative and zero elements. Imaginary
parts are ignored.
10. format bank : fixed format for dollars and cents.
11. format rat : rational format.
Command windows juga digunakan untuk memanggil tool Matlab seperti editor,
debugger atau fungsi. Perintah dapat berupa fungsi-fungsi pengaturan file (seperti perintah
DOS/UNIX maupun fungsi-fungsi bawaan/toolbox MATLAB sendiri. Berikut ini beberapa
fungsi pengaturan file dalam MATLAB:
Dir/ls : digunakan untuk melihat isi dari sebuah direktori aktif.
Cd : digunakan untuk melakukan perpindahan dari direktori aktif.
Pwd : digunakan untuk melihat direktori yang sedang aktif
What : digunakan untuk melihat nama file m dalam direktori aktif
Who : digunakan untuk melihat variabel yang sedang aktif
Whos : digunakan untuk menampilkan nama setiap variabel
Delete : digunakan untuk menghapus file
Clear : digunakan untuk menghapus variabel
Clc : digunakan untuk membersihkan layar
Doc : digunakan untuk melihat dokumentasi The MathWorks, Inc. dalam format html secara
online.
Demo : digunakan unruk mecoba beberapa tampilan demo yang disediakan oleh Matlab
Help : digunakan untuk menampilkan fasilitas-fasilitas yang ada dalam Matlab

7
Clustering adalah suatu metode pengelompokan berdasarkan ukuran kedekatan
(kemiripan). Clustering beda dengan group, kalau group berarti kelompok yang sama,kondisinya
kalau tidak ya pasti bukan kelompoknya.Tetapi kalau cluster tidak harus sama akan tetapi
pengelompokannya berdasarkan pada kedekatan dari suatu karakteristik sample yang ada, salah
satunya dengan menggunakan rumus jarak ecluidean.Aplikasinya cluster ini sangat banyak, karena
hamper dalam mengidentifikasi permasalahan atau pengambilan keputusan selalu tidak sama
persis akan tetapi cenderung memiliki kemiripan saja. Ada beberapa algoritma clustering data.
Sekarang kita membahas tentang K-means dan Fuzzy C-Means.

1.2 Fuzzy C-Means (FCM)


Fuzzy C-Means (FCM) adalah suatu teknik pengelompokan data yang keberadaan tiap-
tiap data dalam suatu kelompok ditentukan oleh nilai atau derajat keanggotaan tertentu dan teknik
ini pertama kali diperkenalkan oleh Jim Bezdek pada tahun 1981. Fuzzy C-Means menerapkan
pengelompokan fuzzy, dimana setiap data dapat menjadi anggota dari beberapa cluster dengan
derajat keanggotaan yang berbeda-beda pada setiap cluster. Fuzzy C-Means merupakan algoritma
iteratif, yang menerapkan iterasi pada proses clustering data. Tujuan dari Fuzzy C-Means adalah
untuk mendapatkan pusat cluster yang nantinya akan digunakan untuk mengetahui data yang
masuk ke dalam sebuah cluster.
Dalam teori fuzzy, keanggotaan sebuah data tidak diberikan nilai secara tegas dengan nilai
1(menjadi anggota) dan nilai 0 (tidak menjadi anggota), melaikan dengan suatu nilai derajat
keanggotaannya yang jangkauan nilainya 0 sampai 1. Nilai keanggotaan suatu data dalam sebuah
himpunan menjadi 0 ketika sama sekali tidak menjadi anggota dan menjadi 1 ketika menjadi
anggota secara penuh dalam suatu himpunan.Umumnya nilai keanggotaannya antara 0 sampai 1.
semakin tinggi nilai keanggotaanya semakin tinggi derajat keanggotaanya dan semakin kecil maka
semakin rendah derajat keanggotaanya. Kaitannya dengan K-means sebenarnya FCM merupakan
versi fuzzy dan k-meansdengan beberapa modifikasi yang membedakan dengen K-Means.
Konsep dari Fuzzy C-Means pertama kali adalah menentukan pusat cluster, yang akan menandai
lokasi rata-rata untuk tiap-tiap cluster. Pada kondisi awal, pusat cluster ini masih belum akurat.
Tiap-tiap titik data memiliki derajat keanggotaan untuk tiap-tiap cluster. Dengan cara
memperbaiki pusat cluster dan derajat keanggotaan tiap-tiap titik data secara berulang, maka
akan dapat dilihat bahwa pusat cluster akan bergerak menuju lokasi yang tepat. Perulangan ini

8
didasarkan pada minimasi fungsi obyektif yang menggambarkan jarak dari titik data yang
diberikan kepusat cluster yang terbobot oleh derajat keanggotaan titik data tersebut. Output dari
Fuzzy C-Means merupakan deretan usat cluster dan beberapa derajat keanggotaan untuk tiap-tiap
titik data. Informasi ini dapat digunakan untuk membangun suatu fuzzy inference system.
Kelebihan dari metode fuzzy C-means adalah sederhana, mudah diimplementasikan, memiliki
kemampuan untuk mengelompokkan data yang besar, dan Running timenya linear O( linear
O(NCT).

1.3 K-Means
Algoritma K-means adalah metode clustering berbasis jarak yang membagi data kedalam
sejumlah cluster dan algoritma ini hanya bekerja pada atribut numerik. Pada dasarnya penggunaan
algoritma dalam melakukan proses clustering tergantung dari data yang ada dan konklusi yang
ingin dicapai. Algoritma k-means merupakan algoritma pengelompokan iteratif yang melakukan
partisi sel data ke dalam sejumlah K cluster yang sudah ditetapkan diawal. algoritma k-means
sederhana untuk diimplementasikan dan dijalankan, relative cepat, medah beradaptasi, umum
penggunaanya dalam praktek. K-means merupakan metode pengklasteran secara partitioning yang
memisahkan data ke dalam kelompok yang berbeda. Dengan partitioning secara iteratif, KMeans
mampu meminimalkan rata-rata jarak setiap data ke klasternya. Metode ini dikembangkan oleh
Mac Queen pada tahun 1967.
Algoritma K-Means berfungsi untuk mengelompokkan suatu obyek yang memiliki kesamaan
(proses pengelompokan biasa disebut clustering) dengan berdasar K cluster, dimana K adalah
bilangan integer positif. Langkah awal proses algoritma K-Mean yaitu menentukan pusat dari tiap
cluster yang hampir sejenis yang kemudian disebut centroid. Centroid bias ditentukan secara acak.
Lalu lakukan penghitungan jarak antara tiap cluster terhadap centroid yang ada, kemudian
kelompokkan tiap cluster berdasar jarak terdekat dari tiap obyek terhadap centroid. Kemudian
hitung kembali centroid, lakukan ini berulang-ulang sampai posisi centroid tidak berpindah lagi.
Dasar algoritma K-means adalah sebagai berikut :
a. Tentukan nilai k sebagai jumlah klaster yang ingin dibentuk.
b. Bangkitkan k centroid (titik pusat klaster) awal secara random.
c. Hitung jarak setiap data ke masing-masing centroid menggunakan rumus korelasi antar dua objek
d. Kelompokkan setiap data berdasarkan jarak terdekat antara data dengan centroidnya.

9
e. Tentukan posisi centroid baru k C ) dengan cara menghitung nilai rata-rata dari data-data yang ada
pada centroid yang sama. Dimana k n adalah jumlah dokumen dalam cluster k dan i d adalah
dokumen dalam cluster k.
f. Kembali ke langkah 3 jika posisi centroid baru dengan centroid lama tidak sama.
Matlab menyediakan fungsi khusus untuk melakukan clustering menggunakan k-means, yaitu
fungsi kmeans(). berikut sintaks pengunanya:
1. [m,C,sumd,D]=kmeans(X,k)
2. [m,C,sumd,D]=kmeans(…,’distance’,val)
sintaks pertama merupakan sintaks dasar, sedangkan sintax kedua digunakan untuk mlengkapi
sintaks pertama untuk parameter ’distance’. penjelasan parameter yang digunakan sebagai berikut:

Parameter Keterangan
X Matriks set data Nxr. N adalah jumlah data sedangkan r adalah jumlah fitur
k Nilai yang menyatakan jumlah cluster
m Matriks Nx1 yang menyatakan index cluster (ID cluster) yang diikuti setiap data
nilai di dalamnya mulai 1 sampai k. N adalah jumlah data.
C Matriks kxr yang menyatakan lokasi centroid setiap cluster. k adalah jumlah
cluster sedangkan r adalah jumlah fitur
Sumd Matriks 1xk yang menyatakan jumlah jarak semua data yang terhubung dalam
setiap cluster
D Matriks Nxk yang menyatakan jarak dari setiap data ke centroid cluster. N adalah
jumlah data, sedangkan k adalah jumlah cluster
val Nilai untuk parameter ’distance’. Pilihan nilainya
‘sqEuclidean’, untuk jarak Euclidean kuadrat, nilai default yang digunakan.
‘cityblock, untuk Manhattan(Block City)
‘Hamming’, untuk jarak hamming(persentase perbedaan bit), hanya cocok untuk
data biner.

Kelebihan K-Means
1. Selalu konvergen atau mampu melakukan klusterisasi
2. Tidak membutuhkan operasi matematis yang rumit, bisa dibilang operasinyasederhana

10
3. Beban komputasi relatif lebih ringan sehingga klusterisasi bisa dilakukandengan cepat walaupun
relatif tergantung pada banyak jumlah data dan jumlahkluster yang ingin dicapai-
Kekurangan K-Means
1. Jumlah kluster harus ditentukan
2. Nilai centroids yang diberikan di awal bisa mempengaruhi hasil klusterisasiapabila nilainya
berbeda (sensitif terhadap nilaicentroids awal)
3. Solusi kluster yang dihasilkan hanya bersifat local optima sehingga kita tidak tahu apakah itu
sudah merupakan konfigurasi optimal atau belum
4. Sangat sensitif pada pembangkitan titik pusat awal secara random.
5. Memungkinkan suatu gerombol tidak mempunyai anggota.
6. Hasil pengelompokan bersifat tidak unik (selalu berubah-ubah) terkadang bagus terkadang tidak.
7. Sangat sulit mencapai global optimum.
8. Algoritma k-means clustering walaupun proses pengerjaannya cepat tetapi keakuratannya tidak
dijamin.
9. Operasi matematis nya sangat sederhana

11
BAB 2

KONSEP/TEORI MATEMATIS

METODE CLUSTERING K-MENAS DAN FUZZY C-MEANS


2.1. Fuzzy C-Means
Fuzzy C-Means (FCM) adalah salah satu teknik peng-cluster-an data yang mana keberadaan
tiap-tiap titik data dalam suatu cluster ditentukan oleh derajat keanggotaannya. Teknik ini
pertama kali diperkenalkan oleh Jim Bezdek pada tahun 1981 (Kusumadewi, 2006).
Fuzzy Cluster Means (FCM) merupakan algoritma yang digunakan untuk melakukan
clustering data sesuai berdasarkan keberadaan tiap-tiap titik data sesuai dengan derajat
keanggotaannya (Ahmadi dan Hartati, 2013). Berikut adalah algoritma clustering FCM:
a. Input data yang akan di-cluster X, berupa matriks berukuran n x p (n=jumlah
sampel data, p=atribut setiap data). Xkj = data sampel ke-k (𝑘 = 1,2, … , 𝑛), atribut
ke-j (𝑗 = 1,2,3, . . , 𝑚).
b. Menentukan:
1) Jumlah cluster = c;
2) Pangkat pembobot = m;
3) Maksimum iterasi = MaxIter;
4) Error terkecil yang diharapkan = ξ;
5) Fungsi Objektif awal = P0 = 0;
6) Iterasi awal =t=1
c. Bangkitkan bilangan random (𝜇𝑖𝑘,𝑖=1,2,..,𝑐;𝑘=1,2,...,𝑛), sebagai elemen-elemen
matriks partisi awal U

μ11 (x1 ) μ12 (x2 ) ⋯ μ1c (xc )


𝑈0 = [ ⋮ ⋮ ⋮ ]
μ11 (x1 ) μ12 (x2 ) ⋯ μnc (xc )

Matriks partisi pada fuzzy clustering harus memenuhi kondisi sebagai berikut:
μik = [0,1]; (1 ≤ 𝑖 ≤ 𝑐; 1 ≤ 𝑘 ≤ 𝑛

12
𝜂

∑ μik = 1; 1 ≤ i ≤ c
𝔦=1

0 < ∑ μik = 1; 1 ≤ i ≤ c
𝔦=1

Hitung jumlah setiap kolom (atribut):

Q j = ∑(μik )
𝔦=1

dengan 𝑗=1,2,3,..,𝑚 kemudian hitung:

μik
μik =
Qj

d. Hitunglah pusat cluster ke-k: Vij , dimana 𝑖=1,2,3,..,𝑐 dan 𝑗=1,2,3,..,𝑚

∑nk=1((μik )m ∗ Xkj )
Vij =
∑nk=1(μik )m

v11 ⋯ v1𝑚
𝑉= [ ⋮ ⋱ ⋮ ]
v𝑐1 ⋯ v𝑐𝑚

e. Hitung fungsi objektif pada iterasi ke-t, Pt dengan menggunakan persamaan sebagai
berikut:
𝑛 c 𝑚

𝑃𝑡 = ∑ ∑ ([∑(𝑋𝑘𝑗 − 𝑉𝑖𝑗 )2 ]) (μik )𝑚


𝑘=1 𝔦=1 𝑗=1

f. Hitung perubahan matriks partisi:

13
−1
[∑𝑝𝑗=1(𝑋𝑘𝑗 − 𝑉𝑖𝑗 )2 ]𝑝−1
μik = −1
∑𝑐𝑖=1 [∑𝑝𝑗=1(𝑋𝑘𝑗 − 𝑉𝑖𝑗 2
) ]
𝑝−1

g. Cek kondisi berhenti:


1) Jika (|𝑃𝑡−𝑃𝑡−1|<𝜉)atau (t<iterasi maksimal) maka berhenti;
2) Jika tidak: maka 𝑡=𝑡+1kemudian ulang langkah ke-4.

2.2. K-Means Clustering


K-means clustering merupakan salah satu metode cluster analysis non hirarki yang berusaha
untuk mempartisi objek yang ada kedalam satu atau lebih cluster atau kelompok objek
berdasarkan karakteristiknya, sehingga objek yang mempunyai karakteristik yang sama
dikelompokan dalam satu cluster yang sama dan objek yang mempunyai karakteristik yang
berbeda dikelompokan kedalam cluster yang lain.
Menurut Daniel dan Eko, Langkah-langkah algoritmaK-Means adalah sebagai berikut:
a. Pilih secara acak k buah data sebagai pusat cluster.
b. Jarak antara data dan pusat cluster dihitung menggunakan Euclidian Distance. Untuk
menghitung jarak semua data ke setiap titik pusat cluster dapat menggunakan teori
jarak Euclidean yang dirumuskan sebagai berikut:

𝐷 (𝑖, 𝑗) = √(𝑋1𝑖 − 𝑋1𝑗 )2 + (𝑋2𝑖 − 𝑋2𝑗 )2 + ⋯ + (𝑋𝑘𝑖 − 𝑋𝑘𝑗 )2

dimana:
𝐷 (𝑖, 𝑗) = Jarak data ke 𝑖 ke pusat cluster 𝑗
𝑋𝑘𝑖 = Data ke 𝑖 pada atribut data ke 𝑘
𝑋𝑘𝑗 = Titik pusat ke 𝑗 pada atribut ke 𝑘
c. Data ditempatkan dalam cluster yang terdekat, dihitung dari tengah cluster.
d. Pusat cluster baru akan ditentukan bila semua data telah ditetapkan dalam cluster
terdekat.
e. Proses penentuan pusat cluster dan penempatan data dalam cluster diulangi sampai
nilai centroid tidak berubah lagi.

14
BAB 3

SIMULASI DATA

3.1 Fuzzy C-Means


clc;
clear all;
close all;

load fcmdata.dat
[centers,U] = fcm(fcmdata,2);

maxU = max(U);
index1 = find(U(1,:) == maxU);
index2 = find(U(2,:) == maxU);

plot(fcmdata(index1,1),fcmdata(index1,2),'ob')
hold on
plot(fcmdata(index2,1),fcmdata(index2,2),'or')
plot(centers(1,1),centers(1,2),'xb','MarkerSize',15,'LineWidth',3)
plot(centers(2,1),centers(2,2),'xr','MarkerSize',15,'LineWidth',3)
hold off

15
3.2 K-Means
clc;
clear all;
close all;

randnumb = 100;
M = zeros(randnumb,2);
label = zeros(randnumb,1);

for a=1:randnumb
M(a,1) = unidrnd(randnumb);
M(a,2) = unidrnd(randnumb);
end

c1 = [unidrnd(randnumb) unidrnd(randnumb)];
c2 = [unidrnd(randnumb) unidrnd(randnumb)];
c1_temp = -ones(1,2);
c2_temp = -ones(1,2);

iterasi = 0;
while((c1(1,1)~=c1_temp(1,1)) && (c1(1,2)~=c1_temp(1,2)) && (c2(1,1)~=c2_temp(1,1))
&& (c2(1,2)~=c2_temp(1,2)))
iterasi = iterasi+1;
jum_c1 = 0;
jum_c2 = 0;
for a=1:randnumb
x = M(a,1);
y = M(a,2);
c1x = c1(1,1);
c1y = c1(1,2);
c2x = c2(1,1);
c2y = c2(1,2);

euc1 = sqrt((x - c1x)^2 + (y - c1y)^2);


euc2 = sqrt((x - c2x)^2 + (y - c2y)^2);

if(euc1 <= euc2)


label(a,1)=1;
jum_c1 = jum_c1+1; %jumlah data pada cluster
plot(M(a,1),M(a,2),'ob'); hold on
else
label(a,1)=2;
jum_c2 = jum_c2+1;
plot(M(a,1),M(a,2),'or'); hold on
end
end

16
jx_c1 = 0;
jy_c1 = 0;
jx_c2 = 0;
jy_c2 = 0;
for a=1:randnumb
if(label(a,1)==1)
jx_c1 = jx_c1 + M(a,1);
jy_c1 = jy_c1 + M(a,2);
else
jx_c2 = jx_c2 + M(a,1);
jy_c2 = jy_c2 + M(a,2);
end
end

rx_c1 = jx_c1/jum_c1;
ry_c1 = jy_c1/jum_c1;
rx_c2 = jx_c2/jum_c2;
ry_c2 = jy_c2/jum_c2;

c1_temp(1,1) = c1(1,1);
c1_temp(1,2) = c1(1,2);
c2_temp(1,1) = c2(1,1);
c2_temp(1,2) = c2(1,2);

c1(1,1) = round(rx_c1);
c1(1,2) = round(ry_c1);
c2(1,1) = round(rx_c2);
c2(1,2) = round(ry_c2);

disp('centroid baru 1 & 2');


disp(c1);
disp(c2);

disp('Iterasi ke');
disp(iterasi);
end
disp('Jumlah data biru');
disp(jum_c1);
disp('Jumlah data merah');
disp(jum_c2);
plot(c1(:,1),c1(:,2),'xb','MarkerSize',15,'LineWidth',3); hold on
plot(c2(:,1),c2(:,2),'xr','Markersize',15,'LineWidth',3); hold on
grid on

17
18
BAB 4

PENUTUP

4.1 Kesimpulan
1. K-Means dan Fuzzy C-Means (FCM) merupakan metode clustering data yang digolongkan
sebagai metode pengklasifikasian yang bersifat unsupervised (tanpa arahan).
2. Pengalokasian ulang data ke dalam masing-masing cluster, metode K-Means menggunakan
metode yang bersifat tegas (hard) sedangkan untuk metode FCM memanfaatkan teori fuzzy.
3. Pada metode FCM kemungkinan kegagalan konvergen lebih kecil dibandingkan metode K-
Means.

19
DAFTAR PUSTAKA

http://mtkmudahbanar.blogspot.com/2016/08/metode-clustering-k-means-dan-fuzzy-c.html

https://www.scribd.com/doc/126338813/Pengantar-Matlab

https://ilmukomputer.org/wp-content/uploads/2018/05/agus-k-means-clustering.pdf

http://etheses.uin-malang.ac.id/6372/1/06510032.pdf

20

Anda mungkin juga menyukai