0

LOOクロス検証を使用して、異なるモデル(OLS、BEST SUBSET、RIDGE、LASSO、PCR、およびPLS)を比較する必要があります(比較基準はテストMSEです)。誰かがそれを行う方法を説明してもらえますか (おそらくサンプル データセットを使用して)? Rコードが必要です。皆さん、ありがとうございました!

PS : 私の英語で申し訳ありませんが、私は別の言語を話します。

わかりました、「キャレット」パッケージを使用しようとしました:

library(ISLR)

library(caret)

library(forecast)

myControl <- trainControl(method='LOOCV')

LM <- train(Salary~., data=Hitters, method=lm, 
            trControl=myControl)

Step <- train(Salary~., data=Hitters, method='leapSeq', 
                   trControl=myControl)

Ridge <- train(Salary~., data=Hitters, method='ridge', 
               trControl=myControl)

Lasso <- train(Salary~., data=Hitters, method='lasso', 
               trControl=myControl)

PLS <- train(Salary~., data=Hitters, method="pls", 
             trControl=myControl)

PCR <- train(Salary~., data=Hitters, method='pcr', 
             trControl=myControl)

パラメータ lambda、ncomp、nvmax を設定するにはどうすればよいですか? 皆さん、ありがとうございました!

4

1 に答える 1

0

これは Caret パッケージで可能だと思います: install.packages("caret")。Caret の利点は、多くの異なるモデルを同時に実行してパフォーマンスを比較できることです。ただし、リクエストしたすべてのモデルが見つかるかどうかはわかりませんが、モデルが存在する場合は次のリストをご覧ください: http://topepo.github.io/caret/modelList.html。また、チュートリアルを読むことをお勧めします: http://www.edii.uclm.es/~useR-2013/Tutorials/kuhn/user_caret_2up.pdf .

于 2015-05-23T11:32:29.907 に答える