Nama : Muhammad Hafidlul Qolbi
NIM : 220605110063
Kelas : A
Mata Kuliah : Linear Algebra
Dosen Pengampuh : Prof. Dr. Suhartono, M.Kom
Jurusan : Teknik Informatika
Lembaga : Universitas Islam Negeri Maulana Malik Ibrahim Malang
===========================================================================================
library(ISLR)
data(Auto)
summary(Auto)
## mpg cylinders displacement horsepower weight
## Min. : 9.00 Min. :3.000 Min. : 68.0 Min. : 46.0 Min. :1613
## 1st Qu.:17.00 1st Qu.:4.000 1st Qu.:105.0 1st Qu.: 75.0 1st Qu.:2225
## Median :22.75 Median :4.000 Median :151.0 Median : 93.5 Median :2804
## Mean :23.45 Mean :5.472 Mean :194.4 Mean :104.5 Mean :2978
## 3rd Qu.:29.00 3rd Qu.:8.000 3rd Qu.:275.8 3rd Qu.:126.0 3rd Qu.:3615
## Max. :46.60 Max. :8.000 Max. :455.0 Max. :230.0 Max. :5140
##
## acceleration year origin name
## Min. : 8.00 Min. :70.00 Min. :1.000 amc matador : 5
## 1st Qu.:13.78 1st Qu.:73.00 1st Qu.:1.000 ford pinto : 5
## Median :15.50 Median :76.00 Median :1.000 toyota corolla : 5
## Mean :15.54 Mean :75.98 Mean :1.577 amc gremlin : 4
## 3rd Qu.:17.02 3rd Qu.:79.00 3rd Qu.:2.000 amc hornet : 4
## Max. :24.80 Max. :82.00 Max. :3.000 chevrolet chevette: 4
## (Other) :365
auto <- Auto[,1:7]
summary(auto)
## mpg cylinders displacement horsepower weight
## Min. : 9.00 Min. :3.000 Min. : 68.0 Min. : 46.0 Min. :1613
## 1st Qu.:17.00 1st Qu.:4.000 1st Qu.:105.0 1st Qu.: 75.0 1st Qu.:2225
## Median :22.75 Median :4.000 Median :151.0 Median : 93.5 Median :2804
## Mean :23.45 Mean :5.472 Mean :194.4 Mean :104.5 Mean :2978
## 3rd Qu.:29.00 3rd Qu.:8.000 3rd Qu.:275.8 3rd Qu.:126.0 3rd Qu.:3615
## Max. :46.60 Max. :8.000 Max. :455.0 Max. :230.0 Max. :5140
## acceleration year
## Min. : 8.00 Min. :70.00
## 1st Qu.:13.78 1st Qu.:73.00
## Median :15.50 Median :76.00
## Mean :15.54 Mean :75.98
## 3rd Qu.:17.02 3rd Qu.:79.00
## Max. :24.80 Max. :82.00
new.data <- Auto[, 1:8]
new.data$origin <- as.character(new.data$origin)
summary(new.data)
## mpg cylinders displacement horsepower weight
## Min. : 9.00 Min. :3.000 Min. : 68.0 Min. : 46.0 Min. :1613
## 1st Qu.:17.00 1st Qu.:4.000 1st Qu.:105.0 1st Qu.: 75.0 1st Qu.:2225
## Median :22.75 Median :4.000 Median :151.0 Median : 93.5 Median :2804
## Mean :23.45 Mean :5.472 Mean :194.4 Mean :104.5 Mean :2978
## 3rd Qu.:29.00 3rd Qu.:8.000 3rd Qu.:275.8 3rd Qu.:126.0 3rd Qu.:3615
## Max. :46.60 Max. :8.000 Max. :455.0 Max. :230.0 Max. :5140
## acceleration year origin
## Min. : 8.00 Min. :70.00 Length:392
## 1st Qu.:13.78 1st Qu.:73.00 Class :character
## Median :15.50 Median :76.00 Mode :character
## Mean :15.54 Mean :75.98
## 3rd Qu.:17.02 3rd Qu.:79.00
## Max. :24.80 Max. :82.00
Untuk mengurangi dimensionalitas data “Auto” dari paket ISLR, kita akan menggunakan fungsi prcomp() untuk menerapkan PCA pada dataset tersebut. Pada fungsi prcomp(), untuk melakukan penskalaan data, kita tidak perlu menggunakan fungsi scale. Cukup tambahkan opsi “scale=TRUE”.
pc <- prcomp(auto, scale=TRUE)
plot(pc)
plot(cumsum(pc$sdev^2/sum(pc$sdev^2)))
Sekarang kita selesai menggunakan fungsi autoplot() dari paket ggfortify [39]. Dengan menggunakan fungsi ini, kita dapat dengan mudah melihat bagaimana titik-titik data dikelompokkan berdasarkan kategori yang berbeda.
library(ggfortify)
## Warning: package 'ggfortify' was built under R version 4.2.3
## Loading required package: ggplot2
autoplot(pc, data=new.data, colour = "origin")
Data “Auto” diproyeksikan ke dalam bidang linear 2-dimensi yang ditemukan melalui PCA. Mobil-mobil Amerika (berwarna merah) dipisahkan dari mobil yang dibuat di negara lain (dengan warna lain). Dengan menggunakan reduksi dimensionalitas melalui PCA, kita dapat memproyeksikan semua titik data dalam ruang berdimensi tinggi ke ruang 2-dimensi yang ditentukan oleh bidang linear, yang merupakan subruang vektor dalam ruang berdimensi lebih tinggi, sehingga kita dapat memvisualisasikan bagaimana titik-titik data tersebar dan membentuk klaster.
Sumber Referensi: Ruriko Yoshida - Linear Algebra and its Application with R