430 likes | 1.3k Views
Clustering ( Season 1 ) K-Means. Pengenalan Pola Materi 4. Eko Prasetyo Teknik Informatika UPN “Veteran” Jawa Timur 2012. Konsep Clustering. Klasifikasi melakukan pengelompokan data dimana setiap data sudah ada label kelasnya
E N D
Clustering (Season 1)K-Means PengenalanPola Materi 4 Eko Prasetyo TeknikInformatika UPN “Veteran” JawaTimur 2012
Konsep Clustering • Klasifikasimelakukanpengelompokan data dimanasetiap data sudahada label kelasnya • Shinggapekerjaanberikutnyaadalahmembuat model untukdapatmelakukanprediksipada data baru yang kemudianmunculuntukdiketahuikelasnya. • Clustering (pengelompokan) melakukanpemisahan/pemecahan/segmentasi data kedalamsejumlahcluster (kelompok) menurutkarakteristiktertentu yang diinginkan. • Dalampekerjaan clustering label darisetiap data belumdiketahui, • Diharapkannantinyadapatdiketahuikelompok data untukkemudiandiberikan label sesuaikeinginan.
Konsep Clustering Data asli • Cluster analysis adalahpekerjaan yang mengelompokkan data (obyek) yang didasarkanhanyapadainformasi yang ditemukandalam data yang menggambarkanobyektersebutdanhubungandiantaranya (Tan, 2006). • Tujuan: agar obyek-obyek yang bergabungdalamsebuahkelompok (cluster) merupakanobyek-obyek yang mirip (atauberhubungan) satusama lain danberbeda (atautidakberhubungan) denganobyekdalamkelompok yang lain. • Lebihbesarkemiripannya (atauhomogenitasnya) dalamkelompokdanlebihbesarperbedaannyadiantarakelompok yang lain, konsepini yang dibahasdalam clustering. Dua cluster Tiga cluster Empat cluster
Konsep Clustering • Bidangpenerapanteknik clustering: kedokteran, kesehatan, psikologi, hukum, statistik, astronomi, klimatologidansebagainya. • Kedokteran, teknik clustering dapatdigunakanuntukmengelompokkanjenis-jenispenyakitberbahayaberdasarkankarakteristik / sifat-sifatpenyakitpasien. • Kesehatan, dapatdigunakanuntukmengelompokkanjenis-jenismakananberdasarkankandungankalori, vitamin, protein. • Penggunaanhasil clustering • Summarization, protoype yang dapatmewakiliseluruh data • Compression, data-data dalam cluster yang samadapatdikompresdengandiwakilioleh index prototype darisetiap cluster • Efisiensipencariantetanggaterdekat
K-Means • Metodeanalisis cluster yang mengarahpadapemartisian N obyekpengamatankedalam K kelompok (cluster) dimanasetiapobyekpengamatandimilikiolehsebuahkelompok/cluster denganmean (rata-rata)terdekat. • Salahsatumetodepengelompokan data non hierarki (partitioning) yang berusahamempartisi data kedalambentukduaataulebih cluster. • Mempartisi data kedalam cluster sehingga data yang memilikikarakteristik yang samadikelompokkankedalamsatu cluster yang samadan data yang mempunyaikarakteristik yang berbedadikelompokkankedalam cluster yang lain. • Tujuannyaadalahmeminimalisasikanfungsiobyektifyang disetdalamprosespengelompokan, yang padaumumnyaberusahameminimalisasikanvariasididalamsuatu clusterdanmemaksimalkanvariasiantar cluster.
Algoritma K-Means • Tentukanjumlahkelompok • Alokasikan data kedalamkelompoksecaraacak • Hitungpusat cluster (centroid/rata-rata) dari data yang adadimasing-masing cluster • Alokasikanmasing-masing data kecentroid/rata-rata terdekat • KembalikeLangkah 3, • apabilamasihada data yang berpindah cluster, • atauapabilaperubahannilaicentroidada yang diatasnilai threshold yang ditentukan, • atauapabilaperubahannilaipadafungsiobyektif yang digunakanmasihdiatasnilai threshold yang ditentukan
Algoritma K-Means • Jika M menyatakanjumlah data dalamsebuah cluster, imenyatakanfiturke-idalamsebuah cluster danpmenyatakandimensi data, makauntukmenghitungcentroidfiturke-idigunakan formula: • dilakukansebanyakpdimensi, sehinggaimulai 1 sampaip. • Cara mengukurjarak data kepusat cluster, diantaranya : Euclidean (Bezdek, 1981), Manhattan/City Block (Miyamoto danAgusta, 1995), danMinkowsky (Miyamoto danAgusta, 1995) Manhattan/City Block Euclidean
Algoritma K-Means • Pengalokasiandata ke cluster dapatdirumuskansebagaiberikut (MacQueen, 1967): • Dimana ailadalahnilaikeanggotaantitik xikepusat cluster Cl, d adalahjarakterpendekdari data xike K cluster setelahdibandingkan, danClcentroid (pusat cluster) ke-l. • Fungsiobjektifberdasarkanjarakdannilaikeanggotaan data dalamcluster • Dimana N adalahjumlah data, K adalahjumlah cluster, ailadalahnilaikeanggotaantitik data xikepusat cluster Cl, Cladalahpusat cluster ke-l, D(xi,Cl) adalahjaraktitik xike cluster Cl yang diikuti. • Untukamempunyainilai 0 atau 1. Apabilasuatu data merupakananggotasuatukelompokmakanilai ail =1 , jikatidak, akanmakanilai ail =0
Fungsi K-Means dimatlab • [IDX,C,sumd,D] = kmeans(X,k) • [IDX,C,sumd,D] = kmeans(...,’distance’,val)
Contoh • Ada10 data pada data set. • Dimensidata ada2 fitur (agar mudahdalamvisualisasikoordinatkartesius). • Fituryang digunakandalampengelompokanadalah x dany • Jarakyang digunakanadalah Euclidean distance. • Jumlahcluster (K) adalah 3. • Threshold (T) yang digunakanuntukperubahanfungsiobjektifadalah 0.1.
Inisialisasi Keanggotaan data dalam cluster Fungsiobjektif Nilai FO awal = 0 Nilai FO baru = 65.5 Perubahan FO = |65.5-0| = 65.5 Masihdiatas T Centroidawal yang didapat
Iterasi 1 Jarakdankeanggotaan data dalam cluster Fungsiobjektif Ada 4 data berpindah cluster 2 dari 3 ke 2 4 dari 2 ke 1 7 dari 2 ke 3 8 dari 3 ke 1 Nilai FO awal = 65.5 Nilai FO baru = 47.1667 Perubahan FO = |47.1667 - 65.5| = 18.3333 Masihdiatas T Centroidbaru yang didapat
Iterasi 2 Jarakdankeanggotaan data dalam cluster Fungsiobjektif Ada 2 data berpindah cluster: 8 dan 10 8 dari 2 ke 3 10 dari 2 ke 3 Nilai FO awal = 47.1667 Nilai FO baru = 19.5667 Perubahan FO = |19.5667 - 47.1667| = 27.6000 Masihdiatas T Centroidbaru yang didapat
Iterasi 3 Jarakdankeanggotaan data dalam cluster Fungsiobjektif Data 5 berpindah cluster dari 3 ke 1 Nilai FO awal = 19.5667 Nilai FO baru = 14.3333 Perubahan FO = |14.3333 - 19.5667| = 5.2333 Masihdiatas T Centroidbaru yang didapat
Iterasi 4 Jarakdankeanggotaan data dalam cluster Fungsiobjektif Tidakada data yang berpindah cluster Nilai FO awal = 14.3333 Nilai FO baru = 14.3333 Perubahan FO = |14.3333 – 14.3333| = 0.0000 Sudahdibawah T Centroidbaru yang didapat
Perubahanhasil clustering Data asli Inisialisasi Hasilsetelahiterasi 1 Hasilsetelahiterasi 2 Hasilsetelahiterasi 3 Hasilsetelahiterasi 4
Prosesdimatlab Nama file: dataset_clustering_2_dimensi.m data = [ 1 1 4 1 6 1 1 2 2 3 5 3 2 5 3 5 2 6 3 8 ]; Nama file: contoh_kmeans.m dataset_clustering_2_dimensi k = 3; [idx,C,sumd,D] = kmeans(data,k); figure('Position',[300 300 210 160]); plot(data(idx==1,1),data(idx==1,2),'ko',data(idx==2,1),data(idx==2,2),'k+',data(idx==3,1),data(idx==3,2),'kd','MarkerSize',6); axis([0 9,0 9]); hold on plot(C(:,1),C(:,2),'kx','MarkerSize',8); hold off C display('IDX | JARAKKE C1 | JARAKKE C2 | JARAKKE C3'); [idx D.^0.5]
To Be Continued … Clustering (Season 2) ANY QUESTION ?