[英]Fitting PCA using the model.matrix function in R
因此,我正在處理一個數據集,其中包含有關泰坦尼克號上乘客的數據,您可以在此處找到。
因此,我在這里使用提供的火車數據。 我想通過使用model.matrix函數創建僅包含數字(無因子!)的數據集的模型矩陣。
之后,從該數據集中刪除Survived變量。
從這個矩陣中,我想將PCA擬合到上一步中的矩陣,並繪制觀測值的分數(僅使用前兩個維度),然后根據Survived變量為它們着色。
我嘗試了幾種方法來執行此操作,但它似乎不准確,也沒有顏色。
library(readr)
library(dplyr)
titanic_train <- read_csv("C:/Users/johnt/Desktop/Statistical Data Mining/HW 1/train.csv")
titanic_train <- titanic_train %>%
select(Survived, Pclass, Sex, Age, SibSp, Parch, Fare, Embarked) %>%
mutate(Fare = log(Fare))
###### Model Matrix
mm <- titanic_train %>%
select(Pclass, Age, SibSp, Parch, Fare, Survived)
titan <- model.matrix(-Survived ~., mm)
#Clean it up
titan <- titan[,-1] #remove intercept column
titan <- scale(titan)
titan[is.na(titan)] <- 0
#PCA
titan2 <-prcomp(titan[,-5], center = TRUE, scale. = TRUE)
titan2
plot(titan2$x[,1:2],col=mm$Survived)
您嘗試過ggbiplot(titan2)
嗎?
當然,如果要這樣做,則必須先過濾以僅使用前兩列,然后才能在prcomp
上運行它
您能否舉例說明PCA的外觀?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.