UTS Metodologi Penelitian & Optimasi
PERBANDINGAN ANTARA
ALGORITMA K-MEANS DENGAN EM UNTUK
DATA IRIS MENGGUNAKAN PACKAGE EMCLUSTER
NAMA: JEFFRY WIJAYA
NIM: 20194920016
PROGRAM STUDI: STATISTIKA BISNIS
FAKULTAS SCIENCE, TECHNOLOGY, ENGINEERING, AND MATHEMATICS
UNIVERSITAS MATANA
TANGERANG
2021
UNIVERSITAS MATANA
TANGERANG
2021
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pengelompokan data atau clustering merupakan suatu cara untuk membagi suatu populasi dalam data agar sekumpulan data dalan satu kelompok yang sama miliki kemiripan dibandingkan dengan kelompok lainnya. Menurut Tan (2006), clustering adalah sebuah proses untuk mengelompokan data ke dalam beberapa cluster atau kelompok sehingga data dalam satu cluster memiliki tingkat kemiripan yang maksimum dan data antar cluster memiliki kemiripan yang minimum. Dengan kata lain, tujuan dari clustering adalah memisahkan data menjadi beberapa kelompok dengan sifat yang sama.
Clustering memegang peranan penting dalam aplikasi data mining, misalnya eksplorasi data ilmu pengetahuan, pengaksesan informasi dan text mining, aplikasi basis data spasial, dan analisis web. Adapun beberapa fungsi dari clustering diantaranya, merupakan metode segmentasi data yang sangat berguna dalam prediksi dan analisa masalah bisnis tertentu seperti segmentasi pasar, marketing dan pemetaan zonasi wilayah, dan identifikasi obyek dalam bidang berbagai bidang seperti computer vision maupun image processing.
Hasil clustering yang baik akan menghasilkan tingkat kesamaan yang tinggi dalam satu kelas dan tingkat kesamaan yang rendah antar kelas. Ada 5 data yang sering muncul dalam proses clustering, yaitu: Data Kategorikal, Data Biner, Data Transaksi, Data Simbolik, dan Data Runtun Waktu (Time Series). Pada penelitian ini, akan ada dua metode untuk membandingkan hasil clustering , yaitu : KMeans dan EM(Expectation Maximization) yang akan dipraktekkan untuk data iris pada software RStudio menggunakan packages stats dan EMCluster.
Iris adalah sebuah genus dalam famili Iridaceae yang mencakup 260–300 spesies tumbuhan berbunga. Namun dalam percobaan penelitian ini, digunakan data iris yang merupakan dataset berisikan 150 data diantaranya masing-masing 50 data dikategorikan berdasarkan 3 kelas, yaitu: setosa, versicolor, dan virginica. Data iris mencakup 150 nilai dari panjang dan lebar suatu kelopak dan daun bunga iris berjenis setosa, versicolor, dan virginica.
1.2 Rumusan Masalah
Berdasarkan uraian latar belakang masalah sebelumnya maka rumusan masalah dalam penelitian ini adalah
1.2.1 Apa perbandingan hasil dari clustering data iris menggunakan algoritma K-Means dengan EM.
1.2.2 Apa metode terbaik yang seharusnya diterapkan pada dataset iris.
1.3 Tujuan
Berdasarkan rumusan masalah sebelumnya, maka tujuan dari penelitian ini adalah
1.3.1 Mengetahui perbandingan hasil dari clustering data iris menggunakan algoritma K-Means dengan EM.
1.3.2 Mengetahui algoritma terbaik yang dapat diterapkan pada dataset iris.
1.4 Manfaat
Berdasarkan tujuan sebelumnya, maka manfaat dari penelitian ini adalah.
1.4.1 Dapat mengetahui perbandingan hasil dari clustering data iris menggunakan algoritma K-Means dengan EM.
1.4.2 Dapat memilih algoritma terbaik yang dapat diterapkan pada dataset iris.
1.4.3 Memberikan informasi mengenai clustering.
1.4.4 Memahami cara kerja algoritma K-Means dan EM.
BAB II
KAJIAN PUSTAKA
2.1 Unsupervised Learning
Unsupervised Learning merupakan salah satu jenis algoritma yang digunakan dalam machine learning untuk mengambil kesimpulan dari sebuah dataset. Metode ini hanya akan mempelajari suatu data berdasarkan kedekatannya saja atau yang biasa disebut dengan clustering. Sangat berbeda dengan supervised learning, unsupervised learning merupakan jenis learning yang hanya mempunyai variabel input tapi tidak mempunyai variabel output yang berhubungan. Tujuan dari Machine Learning ini adalah untuk memodelkan struktur data dan menyimpulkan fungsi yang mendeskripsikan data tersebut. Metode unsupervised learning yang paling umum adalah analisis cluster, yang digunakan pada analisa data untuk mencari pola-pola tersembunyi atau pengelompokan dalam data.
Cara kerja algoritma unsupervised learning yaitu akan mencari pola tersembunyi (eksplisit) dari dataset yang diberikan. Unsupervised machine learning bekerja dengan menganalisis data yang tidak berlabel untuk menemukan pola tersembunyi dan menentukan korelasinya. Beberapa contoh algoritma yang dapat digunakan dalam unsupervised learning seperti, K-Means dan EM.
2.2 K-Means
K-Means clustering adalah salah satu algoritma unsupervised learning yang digunakan ketika data yang dimiliki tidak mempunyai label (contohnya data tanpa kategori ataupun kelompok). Tujuan dari algoritma ini adalah untuk membuat kelompok dalam sebuah data dengan jumlah group direpresentasikan dengan variabel \(k\). Hasil yang didapatkan dengan menggunakan algoritma K-Means adalah:
- Centroid dari kluster K, yang dapat digunakan untuk memberi label data baru
- Label untuk data pelatihan (setiap titik data ditetapkan ke satu cluster)
Algoritma pengelompokan K-means digunakan untuk mencari grup yang belum diberi label secara eksplisit dalam data. Ini dapat digunakan untuk mengkonfirmasi asumsi bisnis tentang jenis grup yang ada atau untuk mengidentifikasi grup yang tidak dikenal dalam kumpulan data yang kompleks. Ada beberapa contoh penggunaan metode K-Means dalam bisnis diantaranya:
2.2.1 Segmentasi perilaku
- Segmentasikan berdasarkan riwayat pembelian.
- Segmen berdasarkan aktivitas pada aplikasi, situs web, atau platform.
- Mendefinisikan persona berdasarkan minat.
- Memuat profil berdasarkan pemantauan aktivitas.
2.2.2 Kategorisasi inventaris
- Mengelompokkan inventaris menurut aktivitas penjualan.
- Mengelompokkan inventaris berdasarkan metrik manufaktur.
2.2.3 Mengurutkan pengukuran sensor
- Deteksi jenis aktivitas pada sensor gerak.
- Gambar-gambar.
- Audio yang terpisah.
- Mengidentifikasi kelompok dalam pemantauan kesehatan.
2.2.4 Mendeteksi bot atau anomali
- Memisahkan aktivitas-aktivitas yang valid dari bot.
- Mengelompokkan aktivitas yang valid untuk membersihkan outlier yang terdeteksi.
2.3 EM
Algoritma EM dijelaskan dan diberi nama dalam makalah klasik 1977 oleh Arthur Dempster, Nan Laird, dan Donald Rubin. Makalah Dempster-Laird-Rubin pada tahun 1977 menggeneralisasi metode dan membuat sketsa analisis konvergensi untuk kelas masalah yang lebih luas. Terlepas dari penemuan sebelumnya, makalah inovatif Dempster-Laird-Rubin dalam Journal of Royal Statistical Society menerima diskusi yang antusias pada pertemuan Royal Statistical Society dengan Sundberg yang menyebut makalah itu brilliant. Makalah Dempster-Laird-Rubin menetapkan metode EM sebagai alat analisis statistik yang penting.
Algoritma EM digunakan untuk menemukan parameter maximum likelihood dari model statistik dalam kasus di mana persamaan tidak dapat diselesaikan secara langsung. Biasanya model ini melibatkan variabel laten selain parameter yang tidak diketahui dan pengamatan data yang diketahui. Artinya, ada nilai yang hilang di antara data, atau model dapat dirumuskan lebih sederhana dengan mengasumsikan adanya titik data tambahan yang tidak teramati. (Misalnya, model campuran dapat dijelaskan lebih sederhana dengan mengasumsikan bahwa setiap titik data yang diamati memiliki titik data yang tidak teramati yang sesuai, atau variabel laten, yang menentukan komponen campuran yang dimiliki oleh setiap titik data.)
Algoritma EM (Expectation-Maximization) adalah algoritma perbaikan iteratif populer yang dapat digunakan untuk menemukan estimasi parameter. Hal ini dapat dilihat sebagai perpanjangan dari paradigma k-means, yang menetapkan objek ke cluster yang paling mirip, berdasarkan cluster mean. Alih-alih menetapkan setiap objek ke cluster khusus, EM menetapkan setiap objek ke cluster sesuai dengan bobot yang mewakili probabilitas keanggotaan. Dengan kata lain, tidak ada batasan ketat antar cluster. Oleh karena itu, cara baru dihitung berdasarkan ukuran tertimbang. EM dimulai dengan perkiraan awal atau “tebakan” dari parameter model campuran (secara kolektif disebut sebagai vektor parameter).
Dalam prakteknya, setiap cluster dapat direpresentasikan secara matematis dengan distribusi probabilitas parametrik. Seluruh data merupakan campuran dari distribusi ini, dimana setiap distribusi individu biasanya disebut sebagai distribusi komponen. Oleh karena itu dapat dilakukan pengelompokan data menggunakan model kepadatan campuran terbatas dari distribusi probabilitas k, di mana setiap distribusi mewakili sebuah cluster. Masalahnya adalah untuk memperkirakan parameter dari distribusi probabilitas sehingga paling cocok dengan data. Ada dua cluster. Masing-masing mengikuti distribusi normal atau Gaussian dengan mean dan standar deviasinya sendiri.
BAB III
METODOLOGI PENELITIAN
3.1 Jenis Penelitian
Jenis penelitian yang digunakan adalah penelitian kuantitatif dimana data yang dinyatakan dalam angka dan dianalisis dengan teknik statistik. Metode penelitian kuantitatif merupakan jenis penelitian yang sistematis, terencana, dan terstruktur dari awal hingga pembuatan desain penelitian. Metode yang digunakan adalah metode K-Means dan EM. Secara singkat, metode K-Means adalah membuat kelompok dalam sebuah data dengan jumlah group direpresentasikan dengan variabel \(k\), sedangkan EM merupakan algoritma perbaikan iteratif populer yang dapat digunakan untuk menemukan estimasi parameter. Hal ini dapat dilihat sebagai perpanjangan dari paradigma k-means, yang menetapkan objek ke cluster yang paling mirip, berdasarkan cluster mean.
3.2 Metode Pengumpulan Data
Penelitian ini menggunakan data sekunder yang merupakan tipikal penelitian kuantitatif, dataset yang digunakan sudah tersedia di RStudio. Dataset yang digunakan sudah dikumpulkan oleh pihak ke-3 yang memiliki otoritas terpercaya yaitu Fisher atau dikenal sebagai Anderson. Penulis memilih cara ini untuk mempercepat penulisan contoh penelitian, karena tidak dibutuhkan waktu yang lama mengakses dataset, dan juga tidak perlu menyebar kuesioner ke lapangan.
3.3 Lokasi Pengumpulan Data
Dalam hal ini, lokasi pengumpulan data adalah melalui akses internet dan lokasi bisa dimana saja tergantung penulis mengakses datanya darimana. Data tersedia dalam R dengan nama data iris dan dapat diakses pada link github ini.
3.4 Objek Penelitian
Adapun yang menjadi objek dalam penelitian kuantitatif ini dibagi berdasarkan metode atau jenis penelitian, termasuk yang berikut ini:
- Objek Penelitian Korelasi: dilakukan juga analisis korelasi untuk melihat keterkaitan antar variabel.
- Objek Penelitian Komparatif: melakukan perbandingan variabel-varibel berdasarkan metode-metode yang digunakan terhadap data iris/
3.5 Flow Chart
Lebih detail tentang metodologi penelitian ini ditunjukkan pada gambar berikut.
BAB IV
HASIL DAN PEMBAHASAN
4.1 Import Data
Langkah pertama yang harus dilakukan adalah mengimport untuk menunjukan data iris yang sudah dimiliki. Untuk data iris dapat diakses di sini.
4.1.1 Data
Setelah data sudah diimport, maka langkah selanjutnya adalah melihat struktur data, ringkasan statistik, dan standar deviasi masing-masing variabel yang tersedia.
4.1.2 Struktur Data
## 'data.frame': 150 obs. of 5 variables:
## $ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
## $ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
## $ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
## $ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
## $ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
Dari hasil yang diperlihatkan diatas, disimpulkan bahwa data species adalah faktor sehingga untuk menganalisa variabel ini, lebih tepat dengan melihat frekuensi atau persentasi antar faktor yang akan diperlihatkan degan histogaram atau pie chart setelah bagian ini. Dapat diketahui juga bahwa variabel species merupakan satu-satunya vektor dalam data yang kita miliki, diikuti dengan 4 data numerik yaitu, sepal length, sepal width, petal length, dan petal width.
4.1.3 Ringkasan Statistik Data
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
Berdasarkan ringkasan statistik yang diperoleh, dapat diketahui bahwa rata-rata panjang, lebar kelopak dan panjang, lebar daun bunga berturut-turut adalah : 5.843, 3.057, 3.758, dan 1.199.
4.1.4 Simpangan Baku
Standar diviasi atau simpangan baku biasa digunakan untuk mengukur sebaran variansi data. Semakin besar nilai standar diviasinya makan semakin beragam (semakin luas variansi sebaran datanya).
4.2 Analisis Korelasi
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Sepal.Length 1.0000000 -0.1175698 0.8717538 0.8179411
## Sepal.Width -0.1175698 1.0000000 -0.4284401 -0.3661259
## Petal.Length 0.8717538 -0.4284401 1.0000000 0.9628654
## Petal.Width 0.8179411 -0.3661259 0.9628654 1.0000000
Berdasarkan analisis korelasi yang ditunjukan diatas, maka dapat diketahui bahwa data iris memiliki nilai korelasi yang bervariasi. Nilai negatif menyatakan hubungan yang bertolak belakang, sedangkan nilai positif menyatakan adanya hubungan searah antarvariabel. Nilai korelasi diatas 0.8 (>0.8) menunjukan adanya hubungan sangat kuat antara kedua variabel.
4.3 Visualisasi Data
Dapat diketahui bahwa, jumlah data dengan spesies setosa, versicolor, dan virginica masing-masing adalah 50 data. Dengan nilai uji korelasi yang kita dapatkan, dapat diketahui akan ada 3 hubungan yang akan kita gunakan pada kasus ini, yaitu Sepal Length-Petal Length, Sepal Length-Petal Width, dan Petal Length-Petal Width. Berikut sebaran datanya berdasarkan variabel masing-masing dan scatterplot untuk data iris.
4.4 K-Means
4.4.1 Mencari \(k\) Optimal
Untuk mencari \(k\) optimal terdapat 3 metode yang sering digunakan, yaitu : Metode siku (Elbow method), Metode siluet (Silhouette method), dan Statistik kesenjangan (Gap statistic). Metode siku adalah dengan menghitung algoritma pengelompokan untuk beberapa nilai \(k\). Ini dapat dilakukan dengan membuat variasi dalam \(k\) dari 1 hingga 10 cluster. kemudian menghitung jumlah total intra-cluster kuadrat dan lanjutkan ke plot berdasarkan jumlah cluster \(k\). Metode siluet adalah metode dengan menggunakan fungsi siluet dalam paket cluster, dapat dihitung luas siluet rata-rata menggunakan fungsi k-means. Di sini, cluster optimal akan memiliki rata-rata tertinggi. Untuk menghitung metode statistik gap, dapat menggunakan fungsi clusGap() untuk menyediakan statistik gap serta kesalahan standar untuk output yang diberikan. Namun di dalam R, terdapat packages yang dapat digunakan untuk mempersingkat ketiga metode diatas, yaitu:
- Elbow method menyarankan menggunakan 3 klaster.
- Silhouette method menyarankan menggunakan 2 klaster .
- Gap statistic method menyarankan menggunakan 4 klaster.
Sehingga dapat kita gunakan 3 klaster sebagai nilai rata-rata dari ke-3 metode tersebut.
4.4.2 Hasil Klastering
##
## setosa versicolor virginica
## 1 50 0 0
## 2 0 48 14
## 3 0 2 36
Dari tabel diatas, dapat dilihat bahwa pada klaster 1 terdapat 50 data setosa. Pada klaster 2 terdapat 48 data versicolor dan 14 data virginica. Sedangkan pada klaster 3 terdapat 2 data versicolor dan 26 data virginica. Hal ini menunjukkan bahwa klaster 1 merujuk kepada spesies setosa, klaster 2 merujuk pada spesies versicolor, dan klaster 3 merujuk pada spesies virginica. Dapat disimpulkan pada uji K-means terdapat 16 data yang berbeda dari data aslinya.
4.5 Algoritma EM
##
## setosa versicolor virginica
## 1 50 0 0
## 2 0 45 0
## 3 0 5 50
Dari tabel diatas, dapat dilihat bahwa pada klaster 1 terdapat 50 data setosa. Pada klaster 2 terdapat 45 data versicolor. Sedangkan pada klaster 3 terdapat 5 data versicolor dan 50 data virginica. Hal ini menunjukkan bahwa klaster 1 merujuk kepada spesies setosa, klaster 2 merujuk pada spesies versicolor, dan klaster 3 merujuk pada spesies virginica. Dapat disimpulkan pada uji K-means terdapat 5 data yang berbeda dari data aslinya.
4.6 Perbandingan Hasil K-Means dan EM Terhadap Data Asli
Dapat dilihat bahwa metode EM Clustering memiliki lebih sedikit data yang berbeda dari data iris. Sehingga dapat disimpulkan bahwa metode EM lebih baik untuk melakukan clustering pada data iris.
Dapat dilihat bahwa metode EM Clustering memiliki lebih sedikit data yang berbeda dari data iris. Sehingga dapat disimpulkan bahwa metode EM lebih baik untuk melakukan clustering pada data iris.
Dari hasil output yang dihasilkan pada tahapan clustering menggunakan algoritma K-Means dan EM, dapat dilihat bahwa metode EM Clustering memiliki lebih sedikit data yang berbeda dari data iris. Hal ini dikarenakan metode EM hanya memiliki 5 data yang berbeda dari data aslinya sedangkan metode K-Means memiliki 16 data. Oleh sebab itu, dapat disimpulkan algoritma terbaik untuk menklasterisasi data iris adalah Algoritma EM, karena memiliki tingkat keakuratan yang lebih tinggi dibandingkan K-Means.
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil output yang dihasilkan pada tahapan perbandingan hasil K-Means dan EM terhadap data asli, dapat dilihat bahwa algoritma K-Means memiliki 16 data yang berbeda dengan data asli sedangkan algoritma EM memiliki 5 data yang berbeda dengan data asli. Keakurataan dari cluster metode K-Means adalah 89.33%, sedangkan EM adalah 96.66%. Oleh karena itu, dapat disimpulkan bahwa algoritma terbaik untuk menklasterisasi data iris adalah Algoritma EM, karena memiliki tingkat keakuratan yang lebih tinggi dibandingkan K-Means.
5.2 Saran
Karena kurang sempurnanya laporan ini, disarankan peneliti selanjutnya menggunakan dataset yang belum memiliki karakteristik tersendiri (dalam dataset ini spesies bunga iris) untuk lebih mengerti sercara mendalam algoritma K-Means dan EM sehingga peneliti selanjutnya dapat memaksimalkan potensi dari kedua algoritma tersebut. Selain itu peneliti juga dapat melakukan metode lainnya untuk mencari metode terbaik diluar metode K-Means dan EM.
DAFTAR PUSTAKA
Gan, G., Ma, C., & Wu, a. J. (2007). Data Clustering: Theory, Algorithms, and Applications (ASA-SIAM Series on Statistics and Applied Probability). SIAM, Society for Industrial and Applied Mathematics.
Charu C. Aggarwal, C. K. (2013). Data Clustering: Algorithms and Applications. Chapman and Hall/CRC.
Jiawei Han, M. K. (2006). Data Mining: Concepts and Techniques. Morgan Kaufmann.
https://socs.binus.ac.id/2017/03/09/clustering/
https://www.dqlab.id/mengenal-leboh-dalam-algoritma-unsupervised-learning
https://blogs.oracle.com/ai-and-datascience/post/introduction-to-k-means-clustering
http://p2k.unkris.ac.id/IT/2-3065-2962/Expectation%EF%BF%BDmaximization-algorithm_18760_p2k-unkris.html
https://www.kaggle.com/baktisiregar/contoh-penelitian-dengan-r-analisis-klustering#Bab-IV-Hasil-dan-Diskusi
LAMPIRAN
Kode
datairis <- iris
datairis # menunjukan data pada data iris
str(datairis) # melihat struktur data
summary(datairis) # ringkasan statistik data pelanggan
data.frame(lapply(select_if(datairis, is.numeric), sd)) # standar diviasi semua variabel
cor(select_if(datairis, is.numeric))
plotSp <- ggplot(data=datairis, aes(x=Species, fill=Species)) +
geom_bar()
plotSp
plotSL <- ggplot(datairis, aes(x = Sepal.Length))+
geom_histogram(bins=20, fill = "brown", colour = "white")
plotSW <- ggplot(datairis, aes(x = Sepal.Width))+
geom_histogram(bins=20, fill = "red", colour = "white")
plotPL <- ggplot(datairis, aes(x = Petal.Length))+
geom_histogram(bins=20, fill = "tomato", colour = "white")
plotPW <- ggplot(datairis, aes(x = Petal.Width))+
geom_histogram(bins=20, fill = "orange", colour = "white")
ggarrange(plotSL, plotSW, plotPL, plotPW, labels = c("A", "B", "C", "D"),
common.legend = TRUE, legend = "bottom"
)
library(NbClust)
library(factoextra)
ElbowM <- fviz_nbclust(datairis[,1:4], kmeans, method = "wss")
SilhouetteM <- fviz_nbclust(datairis[,1:4], kmeans, method = "silhouette")
GapM <- fviz_nbclust(datairis[,1:4], kmeans, method = "gap_stat")
ggarrange(ElbowM, SilhouetteM, GapM,
common.legend = TRUE, legend = "bottom")
set.seed(5)
cluster <- kmeans(datairis[,1:4],3,iter.max=100,nstart=50,algorithm="Lloyd")
table(cluster$cluster,datairis$Species)
library(EMCluster)
library(reshape2)
set.seed(3)
emobj <- exhaust.EM(datairis[,1:4],nclass = 3)
emobj <- shortemcluster(datairis[,1:4], emobj,maxiter = 1000)
em_klaster <- emcluster(datairis[,1:4], emobj, assign.class = TRUE)
table(em_klaster$class,datairis$Species)
# Data Iris
set.seed(1)
plotDI_SLPL <- ggplot(datairis,
aes(x = Sepal.Length, y = Petal.Length, colour=Species)) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
geom_point()+
ggtitle("Hubungan Korelasi 1",
subtitle = "Data Iris")
set.seed(1)
plotDI_SLPW <- ggplot(datairis,
aes(x = Sepal.Length, y = Petal.Width, colour=Species)) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
geom_point()+
ggtitle("Hubungan Korelasi 2",
subtitle = "Data Iris")
set.seed(1)
plotDI_PLPW <- ggplot(datairis,
aes(x = Petal.Length, y = Petal.Width, colour=Species)) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
geom_point()+
ggtitle("Hubungan Korelasi 3",
subtitle = "Data Iris")
# K-Means
set.seed(1)
plotKM_SLPL <- ggplot(datairis,
aes(x = Sepal.Length, y = Petal.Length)) +
geom_point(stat = "identity", aes(color = as.factor(cluster$cluster))) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
ggtitle("Hubungan Korelasi 1",
subtitle = "Menggunakan K-means Clustering")
set.seed(1)
plotKM_SLPW <- ggplot(datairis,
aes(x = Sepal.Length, y = Petal.Width)) +
geom_point(stat = "identity", aes(color = as.factor(cluster$cluster))) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
ggtitle("Hubungan Korelasi 2",
subtitle = "Menggunakan K-means Clustering")
set.seed(1)
plotKM_PLPW <- ggplot(datairis,
aes(x = Petal.Length, y = Petal.Width)) +
geom_point(stat = "identity", aes(color = as.factor(cluster$cluster))) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
ggtitle("Hubungan Korelasi 3",
subtitle = "Menggunakan K-means Clustering")
# EM
em_dat <- data.frame(datairis[,1:4],"Species"=as.factor(datairis$Species),
EM=as.factor(em_klaster$class)) %>% melt(id.var=colnames(datairis[,-5]))
set.seed(1)
plotEM_SLPL <- ggplot(datairis,
aes(x = Sepal.Length, y = Petal.Length)) +
geom_point(stat = "identity", aes(color = as.factor(em_klaster$class))) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
ggtitle("Hubungan Korelasi 1",
subtitle = "Menggunakan EM Clustering")
set.seed(1)
plotEM_SLPW <- ggplot(datairis,
aes(x = Sepal.Length, y = Petal.Width)) +
geom_point(stat = "identity", aes(color = as.factor(em_klaster$class))) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
ggtitle("Hubungan Korelasi 2",
subtitle = "Menggunakan EM Clustering")
set.seed(1)
plotEM_PLPW <- ggplot(datairis,
aes(x = Petal.Length, y = Petal.Width)) +
geom_point(stat = "identity", aes(color = as.factor(em_klaster$class))) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
ggtitle("Hubungan Korelasi 3",
subtitle = "Menggunakan EM Clustering")
HK1 <- ggarrange(plotDI_SLPL, plotKM_SLPL, plotEM_SLPL,
common.legend = TRUE, legend = "bottom", ncol = 3)
annotate_figure(HK1,
top = text_grob("Sepal Length-Petal Length", color = "black", face = "bold", size = 14))
HK2 <- ggarrange(plotDI_SLPW, plotKM_SLPW, plotEM_SLPW,
common.legend = TRUE, legend = "bottom", ncol = 3)
annotate_figure(HK2,
top = text_grob("Sepal Length-Petal Width", color = "black", face = "bold", size = 14))
HK3 <- ggarrange(plotDI_PLPW, plotKM_PLPW, plotEM_PLPW,
common.legend = TRUE, legend = "bottom", ncol = 3)
annotate_figure(HK3,
top = text_grob("Petal Length-Petal Width", color = "black", face = "bold", size = 14))