2017-10-13 5 views
0

モデルのk折りたたみ検証を行うためにキャレットパッケージを使用しようとしています。私はlm()をいくつかの成功に向けて実行しましたが、キャレットで試してみると失敗します。手順:Rのキャレットのチューニングパラメータを生成

Error in train.default(x, y, weights = w, ...) : 
    The tuning parameter grid should have columns intercept 

私の理解で

train_control <- trainControl(method="cv", number=10) 


grid <- expand.grid(.fL=c(0), .usekernel=c(FALSE)) 


model <- train(FantasyPTS ~ Shoots + Height + Weight + Birthyear + 
       age + Draft_Year + Overall_Draft_Num + Draft_Team + Draft_Age + 
      GAA + SVPCT + GSAA + QS + QS. + RBS + GPS, data=nhlgoalies, trControl=train_control, method="lm", tuneGrid=grid) 

結果はモデル自体がインターセプトを生成する必要があることを常にでした。私はそれがパラメータの傍受を必要とするドキュメントを読むことから知っているが、モデル自体が作成される前にそれを生成する方法を知らない?

+0

ランダムなインターセプト値を与え、 –

答えて

1

あなたはデータセットへのリンクを与えていないので、私は例えばデータセットを生成します。

## Make data 
ncol <- 3 
Xs  <- matrix(rnorm(300*ncol), nrow = 300, ncol = ncol) %>% as.tibble() 
Yvec  <- rnorm(300) 
train_control <- trainControl(method="cv", number=10) 

    ## Fit lm model using train 
fit <- train(x= Xs, y = Yvec, method = "lm",trControl = train_control) 

だから、あなただけのtuneGridパラメータを指定する必要はありませんし、[OK]になります。

+0

を確認しようとするとうまくいきます。なぜなら、インターセプトパラメータなしでtuneGridを追加すると呼び出しが失敗する理由が分かりましたが、tuneGridそれがなぜ使用するものなのか?基本的にどのようにしてそれを作ってそれを使うのか、どうやってパフォーマンスを変えるのですか? – ike

関連する問題