Anda di halaman 1dari 30

Analisis Big Data

Pertemuan 4
Dr. Oky Dwi Nurhayati, ST, MT
S1 – Akuntansi
Universitas Diponegoro
Outline Materi
Metode Analitik Data Tingkat Lanjut
Overview of Clustering
- K-means versus Kernel K-means
o Use Cases
o Overview of the Method
o Determining the Number of Clusters
- Additional Algorithms
K-Means Clustering
• K-Means Clustering adalah metode Data Mining yang
melakukan proses pemodelan (unsupervised) dan
melakukan pengelompokan data dengan partisi
• K-Means merupakan metode non hierarki clustering yang
menggunakan model centroid untuk sebuah cluster.
Centroid merupakan titik tengah dari suatu cluster yang
berupa nilai. Centroid untuk menghitung jarak suatu obyek
data terhadap centroid

3
Tujuan Analisis Cluster
• Tujuan dari Analisis Cluster adalah
mengelompokkan obyek berdasarkan
kesamaan karakteristik antar obyek
• Ciri-ciri suatu cluster yang baik yaitu adalah :
– Homogenitas internal (within cluster); yaitu
kesamaan antar anggota dalam satu cluster.
– Heterogenitas external (between cluster); yaitu
perbedaan antara cluster yang satu dengan cluster
yang lain.
Aplikasi Cluster Analysis
• Pengenalan Pola
• Spatial Data Analysis
– Cluster spatial
• Pemrosesan gambar
• Economic Science (terutama market research)
• WWW (internet)
– Berita, hasil pencarian
– Cluster Weblog data to discover groups of similar access patterns
Aplikasi clustering (lanj)
• Marketing: Membantu pihak pemasaran untuk menentukan
grup khusus dan membuat program khusus untuk grup.
• Land use: Identifikasi area yang digunakan untuk hal yang
sama.
• Asuransi: Identifikasi grup yang memiliki tingkat claim yang
tinggi.
• Tata kota: Identifikasi rumah-rumah berdasarkan tipe, harga
dan lokasi.
Pendekatan Clustering
• Partisi :
– Buat partisi dan evaluasi berdasarkan kriteria tertentu,
misalnya meminimalkan sum of square errors
– Metode: k-means, k-medoids, CLARANS
• Hirarkis:
– Buat struktur hierarchical menggunakan kriteria tertentu
– Metode: Diana, Agnes, BIRCH, ROCK, CAMELEON
• Density-based :
– Berdasarkan connectivity dan density functions
– Metode: DBSACN, OPTICS, DenClue
• Yang lain: Grid-based approach, model-based, frequent
pattern-based, user-guided or constraint-based:
Jarak antar cluster
• Single link: jarak terpendek antar elemen di dua cluster dis(Ki, Kj) =
min(tip, tjq)

• Complete link: jarak terjauh antar elemen di dua cluster, i.e., dis(Ki,
Kj) = max(tip, tjq)

• Average: rata2 jarak i.e., dis(Ki, Kj) = avg(tip, tjq)


• Centroid: jarak antara centroids, i.e., dis(Ki, Kj) = dis(Ci, Cj)
• Medoid: jarak antarta medoids, i.e., dis(Ki, Kj) = dis(Mi, Mj)
– Medoid: elemen yang dipilih dan dianggap merupakan titik tengah cluster
Metode Partisi: K-means
1. Partisi objek ke k nonempty subset
2. Hitung centroid (centroid adalah titik tengah
cluster)
3. Masukkan setiap objek ke cluster dengan
centroid terdekat
4. Kembali ke langkah 2, sampai tidak ada
posisi yang berubah
K-MEANS CLUSTERING
 Pendekatan partitional clustering
 Setiap cluster diasosiasikan dengan sentroid
 Setiap titik di tandai ke cluster dengan sentroid terdekat
 K menandakan jumlah cluster yang akan terbentuk
 Algoritma Clustering:
1. Menentukan jumlah cluster
2. Menentukan nilai centroid biasanya dilakukan secara random atau
biasanya menggunakan rumus rata-rata
3. Menghitung jarak antara titik centroid dengan titik tiap objek.
Biasanya menggunakna jarak Euclidean distance.
4. Mengelompokkan objek berdasarkan jarak terdekat
5. Kembali ke tahap ke 2 dan lakukan perulangan hingga nilai
centroid yang dihasilkan tetap dan anggota cluster tidak berpindah
ke cluster lain.
Inisialisasi titik pusat (centroid)
Inisialisasi centroid dapat dilakukan dengan beberapa cara, contohnya 3 cara
berikut:
 Dipilih secara dinamik: Metode ini tepat digunakan jika data baru
ditambahkan secara cepat dan banyak. Untuk menyederhanakan persoalan,
inisial cluster dipilih dari beberapa data baru, misal jika data
dikelompokkan menjadi 3 clusters, maka inisial cluster berarti 3 item
pertama dari data.
 Dipilih secara random: Paling banyak digunakan, dimana inisial cluster
dipilih secara random dengan range data antara nilai terendah sampai nilai
tertinggi.
 Memilih dari batasan nilai tinggi dan rendah: tergantung pada tipe
datanya, nilai data tertinggi dan terendah dipilih sebagai inisial cluster.
Contoh berikut menggunakan metode ini.
IMPLEMENTASI K- MEANS
CLUSTER DI RSTUDIO
Contoh 1
Diketahui sebuah nilai mata kuliah dengan nama file :
Nilai.xlsx yang memiliki 12 atribut sebagai berikut;
NO, NIM , NAMA, KUR, KELAS, TUGAS 1, TUGAS
2, TUGAS 3, UTS, UAS, N.AKHIR, dan HURUF
Untuk mengetahui hasil clustering dari atribut nilai
tersebut pada Rstudio maka diperlukan 3 package yang
harus diinstal ; cluster, factoextra, dan tidyverse
Langkah instalasi package sebagai berikut;
Pilih menu package  Install  cluster
Pilih menu package  Install  factoextra
Pilih menu package  Install  tidyverse
Untuk mengetahui hasil instalasi package pada bagian R Script, tuliskan
sintaks berikut;
# install packages cluster untuk clustering
library(cluster)

Dengan cara yang sama, lakukan instalasi untuk package factoextra


dan tidyverse
Setelah ketiga package di install, kemudian tuliskan pada R scipt
sebagai berikut;
# berfungsi sebagai komentar
# install packages cluster untuk clustering
library(cluster)
# install packages factoextra untuk clustering dan visualisasi
library(factoextra)
# install packages tidyverse untuk clustering
library(tidyverse)
# mengimport data excel ke RStudio, buka file nilai.xlsx di excel
(kopi seluruh file tersebut, kemudian run di Rstudio file tabel1)
tabel1=read.delim("clipboard")
# melihat data setelah import
tabel1
Lanjutan dari R scipt sebelumnya ;
# melihat data setelah import
tabel1
# melihat data yang sudah lengkap (jika ada missing data dpt diganti dengan; 1.nilai mean,
# 2. nilai median, 3.menghilangkan data)
summary(tabel1)
mean(tabel1$TUGAS1)
mean(tabel1$TUGAS2)
mean(tabel1$TUGAS3)
mean(tabel1$UTS)
mean(tabel1$UAS)

Hasil Run program diatas


Melakukan transformasi data dapat dilakukan dengan menggunakan skala atau nilai
min maks
Dengan menggunakan R script tuliskan sintak berikut;

# transformasi dengan skala pada nilai UTS dan UAS (kolom 9 dan 10 pada tabel1)
tabel2=scale(tabel1[,9:10])
# untuk menampilkan hasil perubahan tabel2 menggunakan sintaks berikut;
View(tabel2)
# menentukan jumlah cluster terbaik dengan metode elbow/within sum of square/wss
fviz_nbclust(tabel2, kmeans, method = "wss")
# menentukan jumlah cluster terbaik dengan metode silhouette
fviz_nbclust(tabel2, kmeans)
Lanjutan R script selanjutnya;
# menentukan cluster dengan metode k-means
tabelfinal = kmeans(tabel2,3)
# melihat hasil clustering
print (tabelfinal)
# melihat hasil clustering dalam bentuk grafik
fviz_cluster(tabelfinal,data=tabel2)
Lanjutan R script selanjutnya;
# melihat hasil clustering dalam bentuk tabel
finalakhir=data.frame(tabel2,tabelfinal$cluster)
View(finalakhir)
R script selanjutnya ;

# melihat deskripsi data setelah di clusterkan berdasar cluster


# data yang akan dicluster kolom 9 (UTS) dan 10 (UAS)
tabel1[,9:10]%>%
mutate(cluster=tabelfinal$cluster)%>%
group_by(cluster)%>%
summarise_all("mean")

cluster UTS UAS


<int> <dbl> <dbl>
1 1 62 0
2 2 61.5 81.8
3 3 84.3 83.1
Contoh - 2
implementasi k-mean dengan
Rstudio
1. Mengaktifkan data yang akan digunakan
datausa <- USArrests
datausa
View(datausa) #melihat data
summary(datausa) #ringkasan data
attach(datausa) #memisahkan variabel
2. Melakukan uji Bartlettest untuk menguji apakah data bersifat
heteroskedastisitas/ homoskedastisitas dengan sintaks

uji_bart <- function(x)


{
method <- "Bartlett's test of sphericity"
data.name <- deparse(substitute(x))
x <- subset(x, complete.cases(x))
n <- nrow(x)
p <- ncol(x)
chisq <- (1-n+(2*p+5)/6)*log(det(cor(x)))
df <- p*(p-1)/2
p.value <- pchisq(chisq, df, lower.tail=FALSE)
names(chisq) <- "Khi-squared"
names(df) <- "df"
return(structure(list(statistic=chisq, parameter=df, p.value=p.value,
method=method, data.name=data.name), class="htest"))
}uji_bart(datausa)
Dengan hipotesis :
• H0 : grup varians matriks relatif sama(data bersifat
homoskedastisitas)
• H1 :grup varians matriks relatif berbeda (data bersifat
heteroskedastisitas)
• Karena p-value =< α, maka tolak H0, maka dengan
menggunakan tingkat kepercayaan 95%, data yang ada
menjelaskan bahwa data bersifat heteroskedastisitas

3. Langkah selanjutnya melakukan analisis k-means, dengan


meng-install packages factoextra untuk melihat visualisasi dari
hasil cluster
index<-datausa
kluster <- index[1:4]
library(factoextra)

4. Lalu melakukan standarisasi data,


kemudianuntuk melihat jarak masing-
masing data gunakan perintah get_dist

a <- scale(kluster)
jarak <- get_dist(a)
fviz_dist(jarak,
gradient=list(low="#00AFBB",
mid="white", high="#FC4E07"))
Misalkan ditentukan 3 cluster maka sintaks yang digunakan:
k3 <- kmeans(a, centers = 3, nstart = 25) #penentuan jumlah
cluster
k3
fviz_cluster(k3, data=kluster) #visualisasi hasil pengelompokan
Terbentuk 3 cluster dengan cluster 1 berisi 17 daerah, cluster 2
berisi 13 daerah, dan cluster 3 berisi 20 daerah, dengan cluster
meansnya seperti pada gambar diatas yaitu merupakan centroid
dari masing-masing ketiga cluster. Hasil visualisasinya:
Untuk mendapatkan k optimal, seperti metode elbow atau within sum
square, silhoute, dan gap statistics dapat menambahkan sintaks berikut
#cluster optimal
fviz_nbclust(kluster, kmeans, method = "gap_stat")
fviz_nbclust(kluster, kmeans, method = "wss")
fviz_nbclust(kluster, kmeans, method="silhouette")
Latihan soal
1. Dengan menggunakan metode k –means clustering silhouette
dan wss, tentukan hasil cluster atribut ; income_husband dan
income_wife pada data acs. Simpulkan !
2. Dengan menggunakan k – means clustering silhouette dan wss,
tentukan hasil cluster atribut age_husband dan age_wife pada
data acs. Simpulkan !
TERIMA KASIH

Anda mungkin juga menyukai