UTS Metode Penelitian dan Optimasi


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



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:

  1. Tentukan nilai k sebagai jumlah klaster yang ingin dibentuk.

  2. Inisialisasi k sebagai centroid yang dapat dibangkitkan secara random

  3. 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}\]

  1. Kelompokkan setiap data berdasarkan jarak terdekat antara data dengan centroidnya.

  2. Tentukan posisi centroid yang baru dengan cara menghitung nilai rata-rata dari data-data yang terletak pada centroid yang sama.

  3. 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:

  1. 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].

  2. 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.

  3. 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:

  1. E-step : estimasi statistik cukup (sufficient statistic) untuk data lengkap \(Y_{ijk}\) dengan cara menghitung nilai ekspektasinya.

  2. M-step: Tentukan \(θ^{(t+1)}\) dengan metode MLE (Maximum Likelihood Estimation) dari \(Y_{ijk}\)

  3. 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

Gambar 3.1 Flowchart Penelitian

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

Tabel 4.1 Data Iris


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

Tabel 4.2 Standar Deviasi Data Iris

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.

Gambar 4.1 Plot Variabel Species Data Iris

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.

Gambar 4.2 Plot Variabel Numerik Data Iris

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.

Gambar 4.3 Uji K Optimal

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
Tabel 4.3 Hasil Klasterisasi K-Means

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
Tabel 4.4 Hasil Klasterisasi EM

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.

Gambar 4.5 Perbandingan Species, K-Means, dan EM berdasarkan ukuran Kelopak


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.

Gambar 4.6 Perbandingan Species, K-Means, dan EM berdasarkan Panjang Kelompak dan Daun Bunga


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.

Gambar 4.7 Perbandingan Species, K-Means, dan EM berdasarkan Lebar Kelopak dan Daun Bunga


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_kualitatif

Kuantitatif

  • 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_P
plot_SP1 <- ggplot(data=datairis, aes(x=Sepal.Length, y = Petal.Length, color = Species)) +
                 geom_point() 

plot_SP1
plot_SP2 <- ggplot(data=datairis, aes(x=Sepal.Length, y = Petal.Width, color = Species)) +
                 geom_point() 

plot_SP2

Uji 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")