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