Analisis Non-Hirarki Metode K-MEANS (Tanpa Scalliing Data)

CINDERELLA MEILANI
6 min readJul 9, 2019

--

Assalamualaikum teman-teman, kali ini saya akan sering tentang analisis cluster non-hirarki dengan menggunakan R. Yukkk simak penjelasan berikut ini ya temannn.. Jangan lupa Claps nyaa ya hehe…

***********************************************

Apa itu Metode Non Hirarki?

Metode cluster non hirarki diawali dengan proses penentuan jumlah cluster terlebih dahulu. Secara umum metode ini meminimumkan fungsi objektif atau kriteria optimalsehingga dapat mengatasi masalah optimasi untuk memenuhi kriteria optimal. Berdasarkan karakteristik datanya metode non-hirarki dibagi menjadi beberapa model, yaitu partitioning clustering, overlapping clustering dan model hybrid.

Partitioning clustering merupakan metode rekontruktif yang berusaha meminimumkan fungsiobjektif. Contoh dari partitioning clustering antara lain algoritma K-Means clusteringdan Analisis Residual. Overlapping clustering biasanya digunakan ketika sejumlah datamengalami tumpang tindih (overlap) sehingga setiap data termasuk ke dalam beberapacluster. Contoh dari overlapping clustering antara lain Fuzzy C-Means, Fuzzy Substractive clustering dan Gaussian Mixture Model. Sedangkan model hybrid yaitu suatumetode clustering dimana metode tersebut menggabungkan karakteristik daripartitioning, overlapping, dan hirarki. (Johnson dan Wichern, 2007).

Metode K-Means itu apa?

K-means merupakan metode analisis klaster non-hirarki yang dimulai dengan menentukan terlebih dahulu jumlah kluster yang diinginkan. Setelah jumlah kluster diketahui, baru proses klaster dilakukan tanpa mengikutin proses hirarki (Santoso, 2004). K-means banyak digunakan di berbagai bidang karena sederhana dan mudah diimplementasikan. Pengklasteran K-Means sangat cocok untuk data denfan ukuran yang besar karena memiliki kecepatan yang lebih tinggi dibandingkan metode hirarki. Hasil pengklasteran mungkin tergantung pada urutan observasi data (Nugroho, 2008).

***********************************************

Studi Kasus

Melakukan analisis cluster non-hirarki dengan menggunakan data berikut.

Adapun langkah-langkah yang dikerjakan untuk menyelesaikan kasus diatas adalah sebagai berikut:

  1. Langkah pertama install packages yang dibutuhkan yaitu packages seperti berikut.
library(factoextra)
library(gridExtra)

2. Memasukkan (import) data dalam lembar kerja R dengan membuka data pada Microsoft Excel kemudian copy semua data yang dibutuhkan lalu dan melihat gambaran data dengan menggunakan syntax seperti berikut

data=read.delim("clipboard")
data
summary(data)

Maka akan muncul tampilan berikut.

Gambar diatas merupakan summary dari 8 variabel yaitu tahanan dewasa laki-laki, tahanan dewasa perempuan, tahanan anak laki-laki, tahanan anak perempuan, napi dewasa laki-laki, napi dewasa perempuan, napi anak laki-laki dan napi anak perempuan yang berisi tentang jumlah perlakuan dan ukuran pemusatan data (mean), dan ukuran persebaran data (min, 1st quartiel, median, 1st quartile, max). Berdasarkan hasil output diatas dapat diketahui bahwa sudah tidak terdapat data missing di masing-masing variable yang ditandai dengan tidak terdapatnya NA’s pada hasil summary

3. Selanjutnya adalah melihat variansi data dengan menggunakan syntax seperti berikut.

sapply(data, var)

Berdasarkan hasil output diatas dapat diketahui bahwa variansi sebelum di scalling datanya sangat besar seperti pada variabel tahanan dewasa laki-laki memiliki variansi sebesar 4.470952e+06, pada variabel tahanan dewasa perempuan memiliki variansi sebesar 1.596704e+04 begitu seterusnya

4. Kemudian untuk melihat distance atau jarak dari setiap objek dapat juga dengan menggunakan plot dengan menggunakan syntax seperti berikut.

distance<-get_dist(data1) #jarakantara satu objek yang sama dengan yang
distance
fviz_dist(distance, gradient=list(low="green", mid= "white", high="red"))

Maka akan muncul tampilan berikut.

Selain melihat distance atau jarak antar variable dengan cara langkah kerja sebelumnya dapat juga dilihat dengan plot. Berdasarkan hasil plot output diatas dapat diketahui bahwa untuk jarak sesama objek yang sama yaitu jarak objek 1 dengan objek 1 maka jaraknya 0 begitu juga dengan jarak objek 2 dengan objek 2 dan seterusnya sampai objek ke 35 yang ditandai dengan warna hijau.

Warna putih mewakili data yang berjarak sebesar 4000, merah muda mewakili data yang berjarak sebesar 8000, merah mewakili data yang berjarak sebesar 12000 dan warna merah cerah mewakili data yang berjarak sebesar 16000. Jadi semakin cerah warna yang ada pada plot maka semakin besar jarak antar objek

5. Kemudian membuat data frame hasil klasterisasi dengan metode K-means, dengan center 4 dan perulangan 25. Centers ditentuin peneliti, nstart adalah peulangan yang diulang 25 kali untuk dapat anggota kluster yang konsisten dapat menggunakan syntax seperti berikut.

#kmeans clustering
klaster<-kmeans(data1, centers = 4, nstart = 25)
klaster
klaster$cluster
klaster$centers
klaster$totss
klaster$withinss
klaster$tot.withinss
klaster$betweenss
klaster$size
str(klaster)

Maka akan muncul tampilan berikut.

Berdasarkan hasil output diatas dapat diketahui rata-rata variabel tahanan dewasa laki-laki tertinggi ada di klaster 2 yaitu 7002.000, untuk rata-rata tahanan dewasa perempuan tertinggi ada di klaster 3 yaitu 486.500, untuk rata-rata tahanan anak laki-laki tertinggi ada di klaster 2 yaitu 80.5000, untuk rata-rata tahanan anak perempuan tertinggi ada di klaster 2 dan 3 yaitu 2.0000, untuk rata-rata napi dewasa laki-laki tertinggi ada di klaster 2 yaitu 15119.0, untuk rata-rata napi dewasa perempuan tertinggi ada di klaster 2 yaitu 667.000, untuk rata-rata napi anak laki-laki tertinggi ada di klaster 2 yaitu 191.5000, untuk rata-rata napi anak perempuan tertinggi ada di klaster 2 dan 3 yaitu 2.

Untuk hasil klaster sum of square dari data yang dihasilkan yaitu klaster 1 ada 15378812, klaster 2 ada 8474793, klaster 3 ada 6477908 dan untuk klaster 4 ada 14546086. Dan untuk total sum of square adalah 93.1%

6. Kemudian melihat plot hasil klasterisasi dengan metode K-means dan melihat anggota nilai K dari hasil klasterisasi tersebut dengan menggunakan syntax seperti berikut.

k=data.frame(klaster$cluster)
View(k)
k
fviz_cluster(klaster, data = data1)

Maka akan muncul tampilan berikut.

Berdasarkan hasil plot klaster diatas dapat diketahui bahwa hasil plot data yang belum di scalling titik pusatnya lebih menyebar antar objek dan tidak keliatan berkelompok ini menandakan bahwa nilai variansinya sangat besar yang mengakitbatkan data menyebar dan berjauhan

7. Selanjutnya adalah membuat grafik klasterisasi dengan k=2, k=3, k=4, k=5 dengan metode K-means dengan menggunakan syntax seperti berikut

#comparing the result
k2<-kmeans(data1, centers = 2, nstart = 25)
k3<-kmeans(data1, centers = 3, nstart = 25)
k4<-kmeans(data1, centers = 4, nstart = 25)
k5<-kmeans(data1, centers = 5, nstart = 25)

8. Kemudian membuat data frame dari hasil grafik klasterisasi dengan k=2, k=3, k=4, k=5 kedalam p1, p2, p3 dan p4 dengan menggunakan syntax seperti gambar berikut.

p1<-fviz_cluster(k2, geom = "point", data = data1)+ggtitle("k = 2")
p2<-fviz_cluster(k3, geom = "point", data = data1)+ggtitle("k = 3")
p3<-fviz_cluster(k4, geom = "point", data = data1)+ggtitle("k = 4")
p4<-fviz_cluster(k5, geom = "point", data = data1)+ggtitle("k = 5")

Maka akan muncul tampilan berikut.

Berdasarkan hasil plot klaster diatas dapat diketahui bahwa hasil plot data yang belum di scalling titik pusatnya lebih menyebar antar objek dan tidak keliatan berkelompok ini menandakan bahwa nilai variansinya sangat besar yang mengakitbatkan data menyebar dan berjauhan

9. Kemudian untuk melihat banyaknya klaster optimal menggunakan metode wws dan metode silhouette dapat menggunakan syntax seperti berikut.

#Determining Optimal Clusters untuk melihat landainya dimana
fviz_nbclust(data1, kmeans, method = "wss")
fviz_nbclust(data1, kmeans, method = "silhouette")

Maka akan muncul tampilan berikut.

Berdasarkan hasil output diatas dapat diketahui bahwa hasil yang diperoleh dengan metode wws pada sata sebelum scalling memiliki nilai klaster optimal yaitu 2 dapat dilihat pada plot bahwa sum of square nya landai di k=2.

Berdasarkan hasil output diatas dapat diketahui bahwa hasil yang diperoleh dengan metode silhoutte pada sata sebelum scalling memiliki nilai klaster optimal yaitu 2 yang ditandai dengan ada garis putus-putus pada hasil plot yang diartikan bahwa sum of square nya landai di k=2

=================WELDONE===================

Demikian penjelasan dari saya semoga bermanfaat dan selamat mencoba….. I will see you on my next one.. Don’t Forget to Claps everyonee.. Thankyouu…

--

--