title: “Vektor spaces and Subspaces” author:"Nama = Intan Nurhidayah|| Nim = 220605110039 || Mata Kuliah = Linear Algebra || Dosen Pengampu

Di bagian ini kami menerapkan PCA ke kumpulan data “Otomatis” dari ISLR paket dalam R [24]. Ini berisi jarak tempuh bahan bakar, tenaga kuda, dan informasi lainnya untuk 392 kendaraan. Kumpulan data ini diambil dari perpustakaan StatLib yang dikelola di Carnegie Universitas Mellon. Dataset digunakan dalam American Statistical 1983 Pameran Asosiasi [24]. Pertama, kami memuat kumpulan data dari paket ISLR

library(ISLR)
library(ggplot2)
library(ggfortify)
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

dimensi data “Auto” berfungsi untuk mengurangi dari paket ISLR, kita akan menggunakan fungsi prcomp() untuk menerapkan PCA ke dataset. Untuk fungsi prcomp(), untuk menskalakan data kita tidak perlu menggunakan fungsi scale. Cukup tambahkan opsi “scale=TRUE”.

pc <- prcomp(auto, scale=TRUE) 
plot(pc)

Ada aturan untuk memilih jumlah komponen utama yang akan dipertahankan: - Pilihlah jumlah komponen yang menjelaskan 85% atau lebih besar dari variasi. Untuk melakukannya, kita akan menggunakan fungsi cumsum(). Fungsi ini menghitung jumlah kumulatif.

plot(cumsum(pc$sdev^2/sum(pc$sdev^2)))

Dengan proporsi kumulatif dari kriteria varians yang dijelaskan, diperlukan untuk menjelaskan lebih dari 80% dari total varians. Jadi, dengan melihat plotnya, akan menyimpan 2 variabel dari kumpulan data. Sekarang kita selesai menggunakan fungsi autoplot() dari paket ggfortify[39]. Dengan menggunakan fungsi ini kita dapat dengan mudah melihat bagaimana titik data dikelompokkan dalam hal kategori yang berbeda. Pertama, kami ingin melihat bagaimana titik data dikelompokkan dalam hal kategori “asal”.

autoplot(pc, data=new.data, colour = "origin")