UTS Metode Penelitian dan Optimasi
PERBADINGAN ALGORITMA K-MEANS DAN EM
PADA IRIS DATASET
PERBADINGAN ALGORITMA K-MEANS DAN EM
PADA IRIS DATASET
NAMA: SHERLY TAURIN SIRIDION
NIM: 20194920011
PROGRAM STUDI: STATISTIKA BISNIS
FAKULTAS SCIENCE, TECHNOLOGY, ENGINEERING, AND MATHEMATICS
UNIVERSITAS MATANA
TANGERANG
2021
UNIVERSITAS MATANA
TANGERANG
2021
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Klasterisasi (clustering) adalah bagian penting dalam data mining dan algoritma yang memisahkan data yang serupa. Klasterisasi adalah salah satu metode dalam algoritma unsupervised learning dimana data tidak memiliki label secara eksplisit dan model mampu belajar dari data dengan menemukan pola yang implisit. Metode ini mengelompokkan objek ke beberapa klaster berdasarkan informasi yang diperoleh dari data sehingga setiap anggota di klaster yang sama lebih serupa satu sama lain dibandingkan dengan anggota klaster lainnya. Dalam data mining klasterisasi umumnya adalah langkah pertama yang berguna untuk menemukan pola distribusi dalam sebuah dataset yang berguna untuk proses analisa data. Kesamaan antarobjek biasanya diperoleh dari kedekatan nilai-nilai atribut yang menjelaskan objek-objek data, sedangkan objek-objek data biasanya direpresenntasikan sebagai sebuah titik dalam ruang multidimensi [2].
Iris adalah sebuah genus dalam famili Iridaceae yang mencakup 260–300 spesies tumbuhan berbunga [11]. Penelitian ini menggunakan data iris yang terdiri dari 150 sampel dengan 3 spesies antara lain iris setosa, versicolor, dan virginica. Masing-masing spesies memiliki Sepal Length, Sepal Width, Petal Length, dan Petal Width dalam centimeter yang berbeda-beda. Karena memiliki berbagai spesies, maka diperlukan berbagai cara untuk mengelompokkan secara pasti 150 sampel bunga ini kedalam spesies yang sebenarnya.
Dua perwakilan dari algoritma klasterisasi adalah algoritma K-Means dan algoritma ekspektasi maksimalisasi (EM). EM dan K-Means serupa dalam arti memungkinkan penyempurnaan model dari proses berulang untuk menemukan kelompok(klaster) terbaik. Akan tetapi, algoritma K-Means berbeda dengan algoritma EM. Dimana algoritma K-Means menugaskan setiap objek ke sebuah klaster, sedangkan EM mencari ekspektasi sebuah objek milik sebuah klaster. Pada paper ini, penggunaan algoritma K-Means dan EM untuk pengelompokkan bunga iris akan dibandingkan menurut ukuran bunga dan kelopaknya. Hasil eksperimen dianalisis dan dijelaskan dengan membandingkan kedua algoritma.
1.2 Rumusan Masalah
- Berdasarkan latar belakang masalah, rumusan masalah dalam penelitian pada paper ini adalah:
- 1.2.1 Bagaimana hasil perbandingan klasterisasi data iris menggunakan algoritma K-Means dan EM?
- 1.2.2 Apa algoritma terbaik yang dapat digunakan untuk klasterisasi data iris?
1.3 Tujuan
- Sesuai rumusan masalah yang telah di susun, tujuan penelitian pada paper ini adalah:
- 1.3.1 Mengetahui hasil perbandingan klasterisasi data iris dengan menggunakan algoritma K-Means dan EM.
- 1.3.2 Mengetahui algoritma terbaik untuk melakukan klasterisasi data iris.
1.4 Manfaat
- Berdasarkan tujuan penelitian, manfaat dari penelitian pada paper ini adalah:
- 1.4.1 Dapat mempertimbangkan algoritma terbaik untuk melakukan klasterisasi.
- 1.4.2 Memahami cara kerja algoritma K-Means dan EM.
- 1.4.3 Dapat memberikan informasi mendalam mengenai algorima K-Means dan EM dalam klasterisasi.
BAB 2
KAJIAN PUSTAKA
2.1 Klasterisasi
Clustering atau klasterisasi bagian paling penting dalam unsupervised learning yang merupakan suatu teknik atau metode untuk mengelompokkan data, dengan kata lain, klasterisasi adalah proses mempartisi satu set objek data ke dalam himpunan bagian yang disebut klaster, objek dalam klaster tersebut memiliki kemiripan karakteristik satu sama lain dan berbeda dengan klaster lainnya. Sehingga, data dalam satu cluster memiliki tingkat kemiripan yang maksimum dan data antar cluster memiliki kemiripan yang minimum [3].
Klasterisasi dianggap sangat berguna dan dapat menemukan kelompok yang tidak dikenal dalam data. Hasil klasterisasi yang baik akan menghasilkan tingkat kesamaan yang tinggi dalam satu kelas dan tingkat kesamaan yang rendah antar kelas. Kesamaan yang dimaksud merupakan pengukuran secara numerik terhadap dua buah objek. Nilai kesamaan antar kedua objek akan semakin tinggi jika kedua objek yang dibandingkan memiliki kemiripan yang tinggi. Begitu juga dengan sebaliknya. Kualitas hasil klasterisasi sangat bergantung pada metode yang digunakan [9].
Algoritma Klasterisasi berdasarkan strukturnya dapat dibagi menjadi dua, yaitu pengelompokkan hierarki dan partisional. Pengelompokkan hierarki memiliki aturan satu data tunggal bisa dianggap sebagai sebuah kelompok, dua atau lebih kelompok kecil bergabung dalam satu kelompok besar, begitu seterusnya hingga semua data tergabung jadi satu kelompok. Pengelompokkan partisional membagi dataset ke dalam sejumlah kelompok yang tidak tumpang-tindih antara satu kelompok dengan kelompok lainnya yang berarti setiap data hanya menjadi anggota satu kelompok. Metode K-Means dan Ekspektasi-Maksimisasi (EM) masuk ke dalam kategori pengelompokkan partisional [1].
2.2 Algoritma K-Means
Algoritma K-Means merupakan salah satu metode data clustering non-hierarki yang berusaha mempartisi data yang ada ke dalam bentuk satu atau lebih klaster atau kelompok sehingga data yang memiliki karakteristik yang sama dikelompokkan ke dalam satu klaster yang sama dan data yang mempunyai karakteristik yang berbeda dikelompokkan ke dalam kelompok yang lainnya. Algoritma K-Means termasuk partitioning clustering yang memisahkan data ke k daerah bagian yang terpisah. Algoritma K-Means sangat terkenal karena kemudahan dan kemampuannya untuk mengklaster data yang besar dan data outlier dengan sangat cepat. Tujuan pengelompokkan data dengan K-Means ini adalah untuk meminimalkan fungsi objektif yang di set dalam suatu kelompok dan memaksimalkan variasi antar kelompok [5].
Algoritma K-Means pada dasarnya melakukan dua proses, yakni proses pendeteksian lokasi pusat tiap klaster dan proses pencarian anggota dari tiap-tiap klaster. Berikut cara kerja algoritma K-Means:
Tentukan nilai k sebagai jumlah klaster yang ingin dibentuk.
Inisialisasi k sebagai centroid yang dapat dibangkitkan secara random
Hitung jarak setiap data ke masing-masing centroid menggunakan persamaan Euclidean Distance, yaitu sebagai berikut:
\[D_{ij} = \sqrt{(X_{1i}-X_{1j})^2 + (X_{2i}-X_{2j})^2 + \cdots + (X_{ki}-X_{kj})^2} \tag{2.1}\]
Kelompokkan setiap data berdasarkan jarak terdekat antara data dengan centroidnya.
Tentukan posisi centroid yang baru dengan cara menghitung nilai rata-rata dari data-data yang terletak pada centroid yang sama.
Hitung jarak setiap data ke masing-masing centroid lagi jika posisi centroid baru dengan centroid yang lama tidak sama.
Untuk menentukan jumlah klaster yang dibentuk (nilai k), terdapat 3 metode yang dapat digunakan, yaitu:
- Metode siku (Elbow method)
Metode Siku merupakan suatu metode yang digunakan untuk menghasilkan informasi dalam menentukan jumlah klaster terbaik dengan cara melihat persentase hasil perbandingan antara jumlah klaster yang akan membentuk siku pada suatu titik [8].
- Metode siluet (Silhouette method)
Metode Siluet merupakan gabungan dari dua metode yaitu metode cohesion yang berfungsi untuk mengukur seberapa dekat relasi antara objek dalam sebuah klaster, dan metode separation yang berfungsi untuk mengukur seberapa jauh sebuah klaster terpisah dengan klaster lain.
- Statistik kesenjangan (Gap statistic)
Gap Statistic adalah metode membandingkan total dalam variasi intra-klaster untuk nilai k yang berbeda dengan nilai yang diharapkan di bawah distribusi referensi nol dari data. Estimasi klaster yang optimal akan menjadi nilai yang memaksimalkan statistik gap, yaitu yang menghasilkan statistik gap terbesar. hal ini berarti struktur pengelompokan jauh dari distribusi titik yang seragam secara acak [6].
2.3 Ekspektasi Maksimisasi
Algoritma EM merupakan sebuah metode optimisasi iteratif untuk estimasi Maksimum Likelihood (ML) yang berguna dalam permasalahan data yang tidak lengkap (incomplete data). Dalam setiap iterasi pada Algoritma EM ini terdapat 2 tahap, yaitu tahap Ekspektasi atau tahap E (E step) dan tahap Maksimisasi atau tahap M (M step). Algoritma EM ini hampir mirip dengan pendekatan ad hoc untuk proses estimasi dengan missing data yaitu: mengganti missing value dengan estimated value, mengestimasi parameter, mengestimasi ulang missing value tadi dengan menggunakan parameter baru yang diestimasi, mengestimasi ulang parameter, dan seterusnya berulang-ulang sampai dengan konvergen terhadap suatu nilai [4].
Ide dasar dari Algoritma EM ini adalah mengasosiasikan suatu complete data problem dengan incomplete data problem dengan tujuan agar secara komputasi menjadi lebih mudah, secara ringkas algoritma EM diberikan sebagai berikut:
E-step : estimasi statistik cukup (sufficient statistic) untuk data lengkap \(Y_{ijk}\) dengan cara menghitung nilai ekspektasinya.
M-step: Tentukan \(θ^{(t+1)}\) dengan metode MLE (Maximum Likelihood Estimation) dari \(Y_{ijk}\)
Iterasi sampai nilai \(θ^{(t)}\) konvergen, atau \(θ^{(t+1)} – θ^{(t)}\) mendekati nol. Hasilnya adalah sequence dari nilai-nilai $θ^{(0)} θ^{(1)} … $ dimulai dari suatu nilai \(θ^{(0)}\) tertentu. Secara umum, algoritma iteratif adalah aturan yang applicable untuk nilai \(θ^{(0)}\) tertentu.
BAB 3
METODOLOGI PENELITIAN
3.1 Jenis Penelitian
Jenis penelitian yang digunakan dalam penelitian ini adalah penelitian kuantitatif. Dimana metode penelitian kuantitatif adalah salah satu jenis penilitian yang sistematis, terencana, dan terstruktur jelas sejak awal hingga pembuatan desain penelitiannya, dimana data berupa angka dan dianalisis dengan teknik statistik. Pada bagian awal penelitian, dilakukan analisis statistik deskriptif untuk melihat sebaran data, frekuensi, dan korelasi antar-variabel. Kemudian menerapkan metode klasifikasi K-Means dan Ekspektasi-Maksimisasi untuk membandingkan keakuratan keduanya.
3.2 Metode Pengumpulan Data
Penelitian ini menggunakan data sekunder yang merupakan tipikal penelitian kuantitatif, dataset yang digunakan sudah tersedia di R yaitu dataset iris. Dataset tersebut dikumpulkan oleh Edgar Anderson pada tahun 1935. Dataset iris terdiri dari beberapa variabel bebas yaitu, Sepal length, Sepal Width, Petal length, dan Petal width dalam centimeter dan variabel terikat yaitu 3 spesies iris. Ketiga spesies tersebut adalah setosa, versicolor, dan virginica. Penulis memilih cara ini untuk mempercepat proses penelitian, karena tidak dibutuhkan waktu yang lama mengakses dataset, dan juga tidak perlu menyebar kuesioner ke lapangan.
3.3 Lokasi Pengumpulan Data
Penelitian ini menggunakan data yang dapat diakses menggunakan internet, sehingga lokasi pengumpulan data data di mana saja.
3.4 Objek Penelitian
Objek penelitian yang digunakan dalam penelitian ini adalah Objek Penelitian Komparatif dimana dua variabel akan dibandingkan menggunakan algoritma K-Means dan EM. Hasil dari kedua metode, selanjutnya akan dibandingkan keakuratannya.
3.5 FlowChart
Detail lebih lengkap mengenai metode penelitian ini terdapat pada Gambar 3.1
BAB 4
HASIL DAN PEMBAHASAN
4.1 Import Data
Pada langkah pertama dari penelitian ini, akan dilakukan eksplorasi data. Berikut ini dilakukan import data, melihat struktur data, dan mengulas sepintas mengenai ringkasan data statistiknya. Hal ini dilakukan untuk mendapatkan pengetahuan dasar mengenai data dan untuk menentukan asumsi awal.
4.1.1 Data
Dari dataset dapat dilihat terdapat 150 data dengan 5 variabel, dimana ada 4 variabel numerik dan 1 variabel kategorik.
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 di atas, dapat disimpulkan bahwa struktur data spesies adalah faktor (kualitatif) sehingga untuk menganalisa variabel ini lebih tepat dengan melihat frekuensi atau persentase antar faktor yang akan diperlihatkan dengan histogram di bagian setelah ini.
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 summary statistiknya, diperoleh bahwa frekuensi data dari setiap spesiesnya adalah 50.
4.1.4 Standar Deviasi
Dari perhitungan standar deviasi pada ke-empat data numerik, didapatkan bahwa standar deviasi tertinggi adalah petal length sebesar 1.765298 yang berarti data petal length lebih bervariasi dibandingkan yang lainnya. Karena semakin besar standar deviasinya, maka semakin beragam datanya.
4.2 Analisis Korelasi
Berikut ini dilakukan analisis korelasi antar variabel numerik data iris.
## 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 hasil analisis di atas, dapat dilihat bahwa korelasi antarvariabel bervariasi. Dimana korelasi yang negatif menunjukkan hubungan yang bertolak belakang. Sedangkan, yang positif semuanya diatas 0.7 dan 0.9 yang berarti hubungannya kuat dan searah. Oleh karena itu, untuk perbandingan akan menggunakan korelasi yang positif, yaitu pada korelasi antara data Sepal.Length/Petal.Length, Sepal.Length/Petal.Width, dan Petal.Length/Petal.Width.
4.3 Visualisasi Data
4.3.1 Kualitatif
Berikut ini adalah plot dari variabel kualitatif.
Dari plot tersebut dapat disimpulkan ketiga spesies tersebut memiliki jumlah data yang sama, yaitu 50 data.
4.3.2 Kuantitatif
Berikut plot dari setiap variabel numeriknya.
Dari gambar dapat dilihat untuk yang petal length dan petal width seperti menunjukkan suatu klaster yang nilainya terkecil dibandingkan yang lainnya. Hal ini mungkin dapat menjadi arahan untuk pengklasteran.
4.4 Uji K-Means
4.4.1 Mencari Jumlah Klaster Optimum
Untuk mencari jumlah klaster yang optimum, penulis menggunakan 3 metode, yaitu metode siku, metode siluet, dan statistik kesenjangan.
Dari ketiga grafik di atas, jumlah klater optimumnya adalah 2, 3, dan 4. Maka, dapat disimpulkan bahwa 3 adalah jumlah klaster yang tepat yang merupakan rata-rata dari ketiga hasil tersebut.
4.4.2 Hasil Klasterisasi
Untuk mencari hasil klasterisasi, penulis akan menggunakan function kmeans.
##
## 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 setosa, klaster 2 merujuk pada versicolor, dan klaster 3 merujuk pada virginica. Dapat disimpulkan pada uji K-means terdapat 16 data yang berbeda dari data aslinya. Dengan itu, keakuratannya adalah \(\frac{150-16}{150}x100\% = 89.33\%\).
4.5 Uji EM
Untuk pengujian ekspektasi-maksimisasi, akan digunakan package EMCluster.
##
## 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 setosa, klaster 2 merujuk pada versicolor, dan klaster 3 merujuk pada virginica. Dapat disimpulkan pada uji EM terdapat 5 data yang berbeda dari data aslinya. Dengan itu dapat dibuktikan bahwa tingkat akurasi klasterisasi menggunakan algoritma EM adalah \(\frac{150-5}{150}x100\% = 96.67\%\).
4.6 Perbandingan Uji K-Means dan EM
4.6.1 Perbandingan Berdasarkan Ukuran Kelopak (Petal.Width/Petal.Length)
Berikut visualisasi hasil uji K-Means dan EM terhadap data aslinya berdasarkan ukuran kelopak pada data.
Berdasarkan perbandingan Species, K-Means, dan EM berdasarkan ukuran kelopak (Gambar 4.5), dapat disimpulkan bahwa hasil dari uji EM memiliki lebih sedikit perbedaan dengan data Spesies dibandingkan dengan uji K-Means.
4.6.2 Perbandingan Berdasarkan Panjang Daun Bunga dan Panjang Kelopak (Sepal.Length/Petal.Length)
Berikut visualisasi hasil uji K-Means dan EM terhadap data aslinya berdasarkan Panjang Daun Bunga dan Panjang Kelopak pada data.
Berdasarkan grafik perbandingan Species, K-Means, dan EM berdasarkan Panjang Kelompak dan Daun Bunga (Gambar 4.6), dapat disimpulkan bahwa hasil dari uji EM memiliki lebih sedikit perbedaan dengan data Spesies dibandingkan dengan uji K-Means.
4.6.3 Perbandingan Berdasarkan Panjang Daun Bunga dan Lebar Kelopak (Sepal.Length/Petal.Width)
Berikut visualisasi hasil uji K-Means dan EM terhadap data aslinya berdasarkan Panjang Daun Bunga dan Lebar Kelopak pada data.
Berdasarkan grafik perbandingan Species, K-Means, dan EM berdasarkan Lebar Kelopak dan Daun Bunga (Gambar 4.7), dapat disimpulkan bahwa hasil dari uji EM memiliki lebih sedikit perbedaan dengan data Spesies dibandingkan dengan uji K-Means.
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari hasil output yang dihasilkan pada tahapan clustering menggunakan algoritma K-Means dan EM, Algoritma K-Means menunjukkan 16 perbedaan output dibandingkan data aslinya. Sedangkan algoritma EM menunjukkan 5 perbedaan output dibandingkan data aslinya. Hal itu berarti tingkat keakuratan algoritma K-Means pada data iris adalah 89.33%, sedangkan algoritma EM 96.67%. Berdasarkan tingkat keakuratannya, klasterisasi pada algoritma EM lebih baik dari Algoritma EM. Begitu juga bila dilihat dari ketiga visualisasi yang ada, klasterisasi dengan algoritma EM memiliki lebih sedikit perbedaan dengan data aslinya dibandingkan algoritma K-Means. Oleh sebab itu, dapat disimpulkan algoritma terbaik untuk menklasterisasi data iris adalah Algoritma EM, karena memiliki tingkat keakuratan yang lebih tinggi dibandingkan K-Means.
5.2 Saran
Untuk peneliti selanjutnya mungkin dapat menggunakan data lainnya sehingga penelitian dapat mencakup lebih luas lagi hingga mencapai keputusan algoritma terbaik untuk klasterisasi setiap dataset pada unsupervised learning. Selain itu dapat juga dilakukan uji dengan metode / algoritma lainnya agar dapat mengetahui metode/algoritma terbaik untuk datairis.
DAFTAR PUSTAKA
[1] Borman, Sean. 2009. The Expectation Maximization Algorithm A short Tutorial.
[2] H. VIGNESH RAMAMOORTHY. 2019. Fuzzy C-mean Clustering using Data Mining. Munich: BookRix GmbH&Co.
[3] TS, Madhulatha. 2012. An overview on clustering methods. Eng: IOSR J.
[4] McLachlan, G.J.,$ Krishnan,T. 2007. The EM Algorithm and Extensions. New York: Wiley.
[5] Prasetyo, E. 2012. Data Mining: Konsep Dan Aplikasi Menggunakan MATLAB. Yogyakarta : ANDI.
[6] https://www.datanovia.com/en/lessons/determining-the-optimal-number-of-clusters-3-must-know-methods/
[7] https://www.kaggle.com/baktisiregar/contoh-penelitian-dengan-r-analisis-klustering
[8] https://medium.com/@16611050
[9] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4433949/
[10] https://www.rpubs.com/statscol/unsupervised_learning
[11] www.wikipedia.com
LAMPIRAN
Coding
Import Data
datairis <- iris
datairis
str(datairis)
summary(datairis)
data.frame(lapply(datairis[1:4], sd))Analisis Korelasi
cor(select_if(datairis, is.numeric))Visualisasi Data
Kualitatif
plot_kualitatif <- ggplot(data=datairis, aes(x=Species, fill=Species)) +
geom_bar()
plot_kualitatifKuantitatif
- Univariate
plot_SL <- ggplot(data=datairis, aes(x=Sepal.Length)) +
geom_histogram(bins = 15, fill = "red", colour = "white")
plot_SW <- ggplot(data=datairis, aes(x=Sepal.Width)) +
geom_histogram(bins = 15, fill = "orange", colour = "white")
plot_PL <- ggplot(data=datairis, aes(x=Petal.Length)) +
geom_histogram(bins = 15, fill = "green", colour = "white")
plot_PW <- ggplot(data=datairis, aes(x=Petal.Width)) +
geom_histogram(bins = 15, fill = "blue", colour = "white")
ggarrange(plot_SL, plot_SW, plot_PL, plot_PW)- Bivariate
plot_P <- ggplot(data=datairis, aes(x=Petal.Width, y = Petal.Length, color = Species)) +
geom_point()
plot_Pplot_SP1 <- ggplot(data=datairis, aes(x=Sepal.Length, y = Petal.Length, color = Species)) +
geom_point()
plot_SP1plot_SP2 <- ggplot(data=datairis, aes(x=Sepal.Length, y = Petal.Width, color = Species)) +
geom_point()
plot_SP2Uji K-Means
Mencari jumlah klaster optimum
library(NbClust)
library(ggplot2)
library(factoextra)
fviz_nbclust(datairis[,1:4], kmeans, method = "wss")
fviz_nbclust(datairis[,1:4], kmeans, method = "silhouette")
fviz_nbclust(datairis[,1:4], kmeans, method = "gap_stat")Hasil Klasterisasi
klaster <- kmeans(datairis[,1:4],3,iter.max=100,nstart=50,algorithm="Lloyd")
table(klaster$cluster,datairis$Species)Visualisasi Hasil Klasterisasi
- Ukuran Kelopak
set.seed(4)
ggplot(datairis,
aes(x = Petal.Width, y = Petal.Length)) +
geom_point(stat = "identity", aes(color = as.factor(klaster$cluster))) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
ggtitle("Spesies setiap bunga iris berdasarkan ukuran kelopaknya",
subtitle = "Menggunakan K-means Clustering")- Panjang Kelopak vs Panjang Daun Bunga
set.seed(4)
ggplot(datairis,
aes(x = Sepal.Length, y = Petal.Length)) +
geom_point(stat = "identity", aes(color = as.factor(klaster$cluster))) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
ggtitle("Spesies setiap bunga iris berdasarkan panjang kelopak dan daun bunganya",
subtitle = "Menggunakan K-means Clustering")- Panjang Daun Bunga vs Lebar Kelopak
set.seed(4)
ggplot(datairis,
aes(x = Sepal.Length, y = Petal.Width)) +
geom_point(stat = "identity", aes(color = as.factor(klaster$cluster))) +
scale_color_discrete(name=" ",breaks=c("1", "2", "3"),
labels=c("Cluster 1", "Cluster 2", "Cluster 3")) +
ggtitle("Spesies setiap bunga iris berdasarkan panjang daun bunganya dan lebar kelopaknya ",
subtitle = "Menggunakan K-means Clustering")Uji EM
Hasil Klasterisasi
library(EMCluster)
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)Visualisasi
- Sepal Length vs Petal Length
set.seed(3)
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("Spesies setiap bunga iris berdasarkan panjang daun bunganya dan lebar kelopaknya ",
subtitle = "Menggunakan EM Clustering")- Sepal Length vs Petal Width
set.seed(3)
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("Spesies setiap bunga iris berdasarkan panjang daun bunganya dan lebar kelopaknya ",
subtitle = "Menggunakan EM Clustering")- Petal Width vs Petal Length
set.seed(3)
ggplot(datairis,
aes(x = Petal.Width, 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("Spesies setiap bunga iris berdasarkan ukuran kelopaknya",
subtitle = "Menggunakan EM Clustering")