【R言語】部分最小二乗法 plsパッケージ
plsパッケージによる部分最小二乗法
書籍「Rによる統計的学習入門」の防備メモとして記録しておく
・部分最小二乗法(PLS:partial least squares)とは
・PCRに代わる教師ありの手法
・次元を削減する手法
・元の特徴の線形結合によりM個の新たな特徴を作り、
これらM個の特徴を使って最小二乗法により線形モデルにあたはめる。
library(ISLR) data(Hitters) Hitters %>% drop_na() -> Hitters2 x <- model.matrix(Salary~.,Hitters)[,-1]#interceptを除く y <- Hitters2$Salary train <- sample(1:nrow(Hitters2),nrow(Hitters2)/2) test <- (-train) y_test <- y[test] library(pls) pls_fit <- plsr(Salary~.,data = Hitters2 ,subset = train, scale=TRUE ,validation="CV") summary(pls_fit2) validationplot(pls_fit,val.type = "MSEP")#特徴量が2つの場合MSEが最小 pls_pred <- predict(pls_fit,x[test,],ncomp=2) #MSE mean((pls_pred-y[test])^2)