Dalam ilmu data pada dasarnya memiliki tiga sub-bidang model statistik: 1. pembelajaran yang diawasi, 2. pembelajaran yang tidak diawasi, 3. dan pembelajaran penguatan.
Dalam bab ini, fokus diberikan pada pembelajaran tanpa pengawasan, khususnya dalam konteks pengelompokan. Metode pembelajaran tanpa pengawasan adalah pendekatan statistik deskriptif yang berbeda dengan pembelajaran yang diawasi, yang menggunakan metode statistik inferensial untuk memprediksi hasil atau parameter berdasarkan data yang ada. Salah satu area utama dalam pembelajaran tanpa pengawasan adalah pengelompokan, di mana pengamatan dalam kumpulan data dikelompokkan bersama berdasarkan “kesamaan” mereka. Konsep “kesamaan” ini didefinisikan sebagai titik perkalian vektor dalam ruang vektor.
Pada bagian ini, kita akan mempertimbangkan kumpulan data kejahatan dari Amerika Serikat, yaitu kumpulan data “USArrests” dari R. Data ini berisi informasi tentang tingkat penangkapan rata-rata per 100.000 penduduk karena penyerangan, pembunuhan, pemerkosaan, dan persentase penduduk yang tinggal di daerah perkotaan di 50 negara bagian Amerika Serikat pada tahun 1973. Kita gunakan fungsi hclust() dalam R untuk melihat pengelompokan, yaitu pembentukan kelompok berdasarkan kesamaan antara setiap pengamatan. Langkah pertama adalah mengunggah data “USArrests” dari R.
df <- USArrests
head(df)
## Murder Assault UrbanPop Rape
## Alabama 13.2 236 58 21.2
## Alaska 10.0 263 48 44.5
## Arizona 8.1 294 80 31.0
## Arkansas 8.8 190 50 19.5
## California 9.0 276 91 40.6
## Colorado 7.9 204 78 38.7
Kemudian kita bersihkan data dengan menghapus nilai yang hilang menggunakan sintaks na.omit() :
df <- na.omit(df)
Kemudian kita menggunakan fungsi scale() untuk “memstandarkan” setiap pengukuran. Satu siswa mengikuti tes ACT dan SAT. SAT punya skor maksimal 1600 dan ACT memiliki skor maksimal 36. Jika siswa ini ingin mengetahui tes yang dia lakukan lebih baik, Anda tidak bisa hanya membandingkan skor ini. Jika kita menghitung seberapa jauh skor siswa untuk SAT atau ACT adalah dari rata-rata, maka kita dapat membandingkan nilai siswa pada ACT dan DUDUK. Fungsi scale() menghitung seberapa jauh lokasi setiap observasi rata-rata.
df <- scale(df)
Kemudian kita menggunakan jarak “Euclidean” sebagai ukuran seberapa jauh jaraknya dua pengamatan berasal dari satu sama lain
d <- dist(df, method = "euclidean")
Sekarang kita siap menerapkan fungsi hclust() untuk pengelompokan menggunakan metode “pengelompokan hierarkis”:
hc <- hclust(d)
Kita dapat melihat bagaimana metode ini mengelompokkan data bersama-sama dengan sebuah “dendrogram”. Ada beberapa cara untuk melihat berapa banyak grup (cluster) yang ada di dalam data mengatur.
sub_grp <- cutree(hc, k = 4)
Selanjutnya kita gunakan library factoextra
library(factoextra)
## Warning: package 'factoextra' was built under R version 4.2.3
## Loading required package: ggplot2
## Warning: package 'ggplot2' was built under R version 4.2.2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
Lalu kita gunakan e fviz cluster()
fviz_cluster(list(data = df, cluster = sub_grp))