Ruang vektor merupakan dasar yang digunakan dalam banyak bidang. Contohnya, dalam statistik, kita menggunakan konsep ruang vektor untuk melakukan analisis statistik terhadap sejumlah data. Bab ini akan membahas ruang vektor dan sifat-sifat dasarnya. Pertama, kita akan memberikan definisi ruang vektor, dan selanjutnya, dalam aplikasinya, kita akan mengasumsikan bahwa kita menggunakan “ruang Euclidean” sebagai model ruang vektor.
pada kali ini kita akan membahasa terkait Ilmu Data
Dalam ilmu data, terdapat tiga sub-bidang model statistik yang mendasar, yaitu pembelajaran yang diawasi, pembelajaran yang tidak diawasi, dan pembelajaran penguatan. Dalam bab ini, kita fokus pada pembelajaran yang tidak diawasi, terutama pada pengelompokan. Model pembelajaran yang tidak diawasi merupakan metode statistik deskriptif yang berbeda dengan pembelajaran yang diawasi, yang merupakan metode statistik inferensial untuk memprediksi hasil atau parameter berdasarkan kumpulan data. Salah satu bidang utama dalam pembelajaran yang tidak diawasi adalah pengelompokan. Metode pengelompokan melibatkan pengelompokan pengamatan dalam kumpulan data berdasarkan “kesamaan” mereka. Konsep “kesamaan” ini didefinisikan dalam bentuk “produk dot” dari vektor-vektor dalam ruang vektor.
Dalam bagian ini, kita akan mengevaluasi kumpulan data kejahatan di Amerika Serikat yang disebut “USArrests” yang berasal dari R. Data ini memberikan informasi tentang tingkat penangkapan rata-rata per 100.000 penduduk karena penyerangan, pembunuhan, pemerkosaan, serta persentase penduduk yang tinggal di daerah perkotaan di setiap dari 50 negara bagian pada tahun 1973.
Dalam langkah ini, kita akan menggunakan fungsi hclust() dari R untuk melakukan pengelompokan dan melihat adanya kesamaan antara setiap pengamatan. Pertama, kita akan mengimpor data “USArrests” dari R:
df <- USArrests
Kita dapat melihat 6 pengamatan pertama dengan menggunakan fungsi head() :
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 bisa membersihkan data dengan menghapus nilai yang hilang menggunakan na.omit() fungsi:
df <- na.omit(df)
Kemudian, kita akan menggunakan fungsi scale() untuk “mengstandarisasi” setiap pengukuran. Alasan kita menerapkan fungsi ini adalah karena beberapa pengukuran memiliki skala yang jauh lebih besar dibandingkan yang lain. Sebagai contoh, seorang siswa mengikuti tes ACT dan SAT. Skor SAT memiliki skor maksimal 1600, sedangkan ACT memiliki skor maksimal 36. Jika siswa ini ingin mengetahui tes mana yang dia lakukan lebih baik, kita tidak dapat hanya membandingkan skor secara langsung. Dengan menghitung seberapa jauh skor siswa dari rata-rata pada SAT atau ACT, kita dapat membandingkan nilai siswa pada kedua tes tersebut. Fungsi scale() menghitung perbedaan setiap pengamatan dari rata-rata.
df <- scale(df)
Setelah itu, kita akan menggunakan jarak “Euclidean” sebagai ukuran seberapa jauh dua pengamatan berbeda satu sama lain. Dalam konteks ini, jarak “Euclidean” dihitung sebagai akar kuadrat dari hasil perkalian dalam dua vektor dalam ruang R^4 untuk data “USArrests”. Kita akan menyimpan jarak antara setiap pasangan pengamatan dalam data “USArrests” dalam bentuk matriks 50x50 menggunakan fungsi dist().
d <- dist(df, method = "euclidean")
Sekarang kita siap menerapkan fungsi hclust() untuk pengelompokan menggunakan a metode “pengelompokan hierarkis”:
hc <- hclust(d)
Dengan menggunakan metode ini, kita dapat melihat bagaimana data dikelompokkan secara visual melalui sebuah “dendrogram”. Terdapat beberapa cara untuk menentukan jumlah grup (cluster) yang ada dalam data. Berdasarkan “dendrogram”, kita dapat mengetahui bahwa pada dasarnya terdapat empat kelompok dalam kumpulan data tersebut. Oleh karena itu, kita akan membuat empat kelompok secara bersama-sama:
sub_grp <- cutree(hc, k = 4)
Kemudian kami menggunakan paket factoextra [26] untuk memplot cluster.
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.3
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
Now we plot the result. We use the fviz cluster() function:
fviz_cluster(list(data = df, cluster = sub_grp))