PERBANDINGAN ANTARA KMEANS DAN ALGORITMA EM DENGAN MENGGUNAKAN EMCLUSTER
Diajukan sebagai salah satu syarat untuk memperoleh nilai Ujian Tengah Semester pada mata kuliah Optimasi dan Metodologi Penelitian
| Kontak | : \(\downarrow\) |
| kefas.ronaldo@student.matanauniversity.ac.id | |
| RPubs | https://rpubs.com/kefasronaldo/ |
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Di era digital saat ini, informasi sudah dapat diakses dengan sangat mudah karena perkembangan yang terus dilakukan dan pesatnya perkembangan tersebut. Salah satu cabang ilmu komputer, termasuk dalam teknologi informasi, yang juga turut ambil bagian dalam perkembangan tersebut adalah Data Mining. Data mining adalah suatu proses penambangan informasi penting dari suatu data. Informasi penting ini didapat dari suatu proses yang amat rumit seperti menggunakan artificial intelligence, teknik statistik, ilmu matematika, machine learning, dan lain sebagainya. Teknik-teknik rumit tersebut nantinya akan mengidentifikasi dan mengekstraksi informasi yang bermanfaat dari suatu database besar.
Menurut Efraim Turban, dkk (2005), tujuan dari penambangan data ini untuk mengekstraksi serta mengidentifikasi suatu data demi informasi tertentu yang berhubungan dengan suatu database besar atau big data. Penambangan data adalah suatu proses yang memiliki banyak fungsi. Fungsi utamanya yaitu untuk mendapatkan informasi penting yang nantinya bisa bermanfaat. Salah satu teknik atau fungsionalitas dari data mining adalah Clustering. Algoritma clustering merupakan algoritma pengelompokkan sejumlah data menjadi kelompok-kelompok data tertentu (cluster). Objek data yang terletak didalam satu cluster harus mempunyai kemiripan, sedangkan yang tidak berada di dalam satu cluster tidak mempunyai kemiripan.
Clustering memiliki banyak algoritma dengan beberapa kategori, yaitu hierarchical. Algoritma dengan kategori hierarchical menentukan sendiri jumlah cluster yang dihasilkannya, seperti algoritma SNN, COBWEB, Chandeon dan Rock. Selanjutnya ada algoritma dengan kategori Partitional. Algoritma dengan kategori Partitional mengelompokkan data kedalam k cluster, dengan k adalah banyak cluster dari input user misalnya algoritma CLARA, K-Means, EM, dan Bond Energy. Selain itu, ada clustering large data yang memiliki volume data paling besar, misalnya algoritma BIRCH, DBScan dan Cactus. Dengan hal demikian, peneliti ingin mencari tahu perbandingan antara K-Means dengan Algoritma EM yang dikelompokkan ke dalam cluster-cluster.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah dijabarkan, maka rumusan masalah pada penelitian ini adalah:
1.2.1 Bagaimana hasil perbandingan antara K-Means dengan Algoritma EM?
1.2.2 Algoritma manakah yang lebih baik digunakan?
1.3 Tujuan Penelitian
Sesuai dengan rumusan masalah yang telah disusun, maka tujuan dari penelitian ini adalah:
1.3.1 Untuk mengetahui hasil perbandingan antara K-Means dengan Algoritma EM
1.3.2 Untuk mengetahui algoritma yang lebih baik digunakan
1.4 Manfaat Penelitian
1.4.1 Untuk Peneliti
- Agar peneliti dapat melatih kemampuannya dalam menulis karya tulis ilmiah dan dapat meningkatkannya pada penelitian selanjutnya.
- Mengetahui perbandingan K-Means dan Algoritma EM pada data iris yang digunakan.
1.4.2 Untuk Pembaca
- Menambah wawasan baru mengenai clustering
- Menambah wawasan baru mengenai K-Means dan Algoritma EM
- Mengetahui cara kerja Algoritma K-Means dan EM
BAB 2 KAJIAN PUSTAKA
2.1 K-Means
K-Means adalah salah satu bentuk clustering yang bekerja dengan mempartisi data ke dalam satu atau lebih cluster. Metode ini mempartisi data ke dalam cluster-cluster, sehingga data yang memiliki karakteristik sama, dikelompokkan ke dalam satu cluster. Clustering dengan algoritma K-Means adalah suatu metode penganalisaan data atau metode data mining yang melakukan proses pemodelan tanpa supervisi atau unsupervised. Selain itu, metode K-Means Clustering berusaha mengelompokkan data yang ada ke dalam beberapa kelompok, dengan data dalam satu kelompok tersebut mempunyai karakteristik yang sama satu sama lainnya dan mempunyai karakteristik yang berbeda dengan data yang ada di dalam kelompok yang lain. K-Means merupakan salah satu metode data clustering non-hierarchical atau Partitional Clustering.
Menurut Agusta, Y (2007), data clustering dengan metode K-Means secara umum dilakuka dengan algoritma dasar sebagai berikut:
- Tentukan jumlah cluster
- Alokasikan data ke dalam cluster secara random
- Hitung centroid/rata-rata dari data yang ada di masing-masing cluster
- Alokasikan masing-masing data ke centroid/rata-rata terdekat
- Kembali ke Step 3, apabila masih ada data yang berpindah cluster atau apabila perubahan nilai centroid, ada yang di atas nilai threshold yang ditentukan atau apabila perubahan nilai pada objective function yang digunakan di atas nilai threshold yang ditentukan<br
2.2 EM
Algoritma Expectation Maximization (EM) merupakan salah satu algoritma yang digunakan untuk mengklasifikasikan atau mengelompokkan data. Algoritma (EM) merupakan suatu metode estimasi untuk menentukan kemungkinan maksimum dari perkiraan parameter. Selain itu, EM algoritma juga merupakan sebuah metode optimisasi iteratif untuk estimasi Maksimum Likelihood, yang berguna dalam permasalahan data yang tidak lengkap (Budi, 2010).
Expectation Maximation (EM) termasuk algoritma partitional yang berbasiskan model, dengan menggunakan perhitungan probabilitas, bukan jarak seperti umumnya algoritma clustering yang lainnya. Langkah-langkahnya adalah sebagai berikut (Budiarti, A., 2006):
- Inisialisasi cluster centers sebanyak suatu nilai k. Nilai k bisa merupakan input dari user atau merupakan nilai yang didapatkan dengan memanfaatkan penggunaan algoritma lain.
- Iterasikan dua langkah yang menjadi dasar penamaan algoritma berikut sampai mencapai suatu titik konvergensi yang telah ditentukan sebelumnya:
- Langkah Expectation
- Langkah Maximation
BAB 3 METODOLOGI PENELITIAN
3.1 Metode
Menurut KBBI, yang dimaksud dengan metode adalah cara teratur yang digunakan untuk melaksanakan suatu pekerjaan agar tercapai sesuai dengan yang dikehendaki atau cara kerja yang bersistem untuk memudahkan pelaksanaan suatu kegiatan guna mencapai tujuan yang ditentukan. Dengan kata lain, metode merupakan suatu cara yang dapat dipakai seseorang dalam melakukan suatu hal atau pekerjaan untuk menghasilkan tujuan yang diinginkan. Saat seseorang melakukan penelitian juga memerlukan suatu metode. Menurut Sugiyono (2013) metode penelitian pada dasarnya merupakan cara ilmiah untuk mendapatkan data dengan tujuan dan kegunaan tertentu. Berdasarkan penjelasan di atas, maka dapat disimpulkan bahwa metode penelitian adalah suatu cara yang dipakai seseorang untuk melakukan sesuatu penelitian untuk mendapatkan data dengan tujuan dan kegunaan tertentu.
3.2 Packages
Dalam penelitian ini, peneliti memakai beberapa package dalam R. Berikut adalah package yang dimuat dalam penelitian ini:
library(ggplot2)
library(DT)
library(EMCluster)
library(FactoMineR)
library(reshape2)
library(summarytools)
library(dplyr)
Package ggplot2 merupakan paket di R yang bebas diunduh dan digunakan untuk membuat berbagai bentuk grafik. Grafik yang ditampilkan bisa berupa data numerik maupun data kategorik, univariat maupun multivariat. Selanjutnya, package DT adalah package datatabel, yang dapat digunakan untuk menampilkan data dalam bentuk tabel. Lalu, package EMCluster digunakan pada R untuk klasterisasi algoritma EM. Package FactoMineR digunakan pada R untuk Analisis Data Eksplorasi Multivariat dan Penambangan Data, Metode analisis data eksplorasi untuk meringkas, memvisualisasikan, dan menggambarkan dataset. Kemudian, package reshape2 digunakan untuk memudahkan dalam mengubah data antara format yang luas dan panjang. Lalu, kegunaan package summarytools pada R adalah menyediakan alat untuk meringkas data dengan rapi dan cepat. Yang terakhir, untuk package dplyr dapat digunakan untuk memanipulasi data. Package ini sangat berguna ketika digunakan untuk melakukan analisis dan eksplorasi data.
3.3 Metode Pengambilan Data
Pada penelitian perbandingan algoritma K-Means dan EM, data yang dipakai adalah data sekunder, dengan kata lain data ini sudah ada di R. Berikut akan diimport data yang dipakai pada perbandingan dalam penelitian ini.
datatable(iris)BAB 4 HASIL DAN PEMBAHASAN
Dalam penelitian ini akan membandingkan dua cara untuk melakukan Analisis cluster, yaitu dengan K-Means dan EM Algoritma atas data mentah dan komponen utama (PC). PCA dilakukan melalui fungsi PCA() dari paket FactomineR. Demikian pula, untuk kmeans kami menggunakan fungsi stat built-in.
set.seed(123)
pca_iris=PCA(iris[,-5],scale.unit = T,ncp = 2,graph = F)iris_sc=scale(iris[,-5],center = T,scale = T)
km_raw=kmeans(iris_sc, centers=3)
emobj <- exhaust.EM(iris_sc,nclass = 3)
emobj <- shortemcluster(iris_sc, emobj,maxiter = 1000)
em_raw <- emcluster(iris_sc, emobj, assign.class = TRUE)
dat_clust_raw=data.frame(iris_sc,"Species"=as.factor(iris$Species),
kmeans=as.factor(km_raw$cluster), EM=as.factor(em_raw$class))km_pca=kmeans(pca_iris$ind$coord, centers=3)
emobj_pca <- exhaust.EM(pca_iris$ind$coord, nclass = 3)
emobj_pca <- shortemcluster(pca_iris$ind$coord, emobj_pca,maxiter = 1000)
em_pca <- emcluster(pca_iris$ind$coord, emobj_pca, assign.class = TRUE)
dat_clust_pca=data.frame(pca_iris$ind$coord,"Species"=iris$Species,
kmeans=as.factor(km_pca$cluster), EM=as.factor(em_pca$class))EM-Algoritma seharusnya memiliki kinerja lebih baik dari K-means normal, ketika bentuk sebenarnya dari cluster adalah tidak bulat atau berukuran kecil.
dat_raw=dat_clust_raw %>% melt(id.var=colnames(iris[,-5]))
dat_raw %>% ggplot(aes(x=Sepal.Length,y=Petal.Width, color=value))+geom_point()+
facet_wrap(~variable)+theme_grey()+
theme(strip.background =element_rect(fill="darkred"))+
theme(strip.text = element_text(colour = 'white'))+guides(color=FALSE)dat_pca=dat_clust_pca %>% melt(id.var=c("Dim.1","Dim.2"))
dat_pca %>% ggplot(aes(x=Dim.1,y=Dim.2, color=value))+geom_point()+facet_wrap(~variable)+theme_grey()+
theme(strip.background =element_rect(fill="darkred"))+
theme(strip.text = element_text(colour = 'white'))+guides(color=FALSE)Dapat dilihat bahwa dalam kedua, data mentah dan koordinat PCA, EM tampaknya berperilaku dan melakukan penghormatan yang lebih baik terhadap Kmeans. Bandingkan sendiri. Lihatlah aspek “Spesies” dan temukan mana dari kedua metode yang lebih dekat dengan representasi grafis yang sebenarnya.
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan perhitungan yang sudah dilakukan di atas, maka dapat disimpulkan bahwa analisis data dengan algoritma KMeans atau EM dapat digunakan untuk mengelompokkan data berdasarkan jenisnya, walaupun terdapat beberapa hasil yang berbeda. Selain itu, algoritma EM adalah alternatif yang solid dari KMeans Clustering pada pembelajaran semi-supervised. Ini menghasilkan solusi yang stabil dengan menemukan distribusi Gaussian multivariat untuk setiap cluster. Maka, algoritma yang terbaik digunakan untuk mengelompokkan data iris adalah algoritma EM, karena memiliki tingkat perbedaan yang lebih rendah dan memiliki tingkat keakuratan yang lebih tinggi.
5.2 Saran
Penelitian ini sudah cukup baik dilakukan. Namun, untuk peneliti selanjutnya yang mungkin akan melakukan penelitian yang sama, dapat memahami benar metode yang digunakan. Peneliti selanjutnya juga bisa menggunakan data lainnya yang dapat mencakup lebih luas dalam hasil penelitiannya. Selain itu, juga dapat dicoba dengan metode lainnya, supaya bisa mengetahui jika ternyata ada metode yang lebih baik digunakan daripada KMeans dan EM.
DAFTAR PUSTAKA
Agusta, Y. (2007). K-Means- Penerapan, Permasalahan dan Metode Terkait. Retrieved from Jurnal Sistem dan Informatika, vol 3, hal 47-60.
Budi. (2010). Analisis Missing Data Menggunakan Algoritma EM. Retrieved from https://statistikakomputasi.wordpress.com/2010/04/08/analisis-missing-data-menggunakan-algoritma-em-2/
Budiarti, A. (2006). Aplikasi dan Analisis Clustering pada Data Akademik. Retrieved from Laporan Tugas Akhir, Fakultas Ilmu Komputer, Universitas Indonesia.
Bootupacademyai. (2019). Retrieved from https://bootup.ai/blog/data-mining-adalah/
Chen Yu. K-Means Clustering. Indiana University
Efraim, Turban. Rainer, Kelly R dan Potter, Richard. (2005). Introduction to Information Technology. 3rd Edition. USA : John Willey & Sons, Inc.
Hasyrif, S.Y., Rismayani & Asrul Syam (2019). Data Mining Menggunakan Algoritma K-MeansPengelompokan Penyebaran Diare Di Kota Makassar.
Mardiani. (2014, Agustus 14). Perbandingan Algoritma K-Means dan EM untuk Clusterisasi Nilai Mahasiswa Berdasarkan Asal Sekolah
Parra, Jhon. (2019). Unsupervised Learning. Retrieved from https://www.rpubs.com/statscol/unsupervised_learning
Wakhidah, Nur. (2010). CLUSTERING MENGGUNAKAN K-MEANS ALGORITHM. Retrieved from https://media.neliti.com/media/publications/142845-ID-clustering-menggunakan-k-means-algorithm.pdf