キャレットパッケージに関する多くの投稿を読みましたが、特にtrain関数に興味があります。ただし、列車の機能がどのように機能するかを正しく理解したかどうかは、完全にはわかりません。
私の現在の考えを説明するために、簡単な例を作成しました。
最初に、パラメーターグリッドを指定します。メソッドgbmを使用しているとすると、モデルのパラメーターグリッドは次のようになります。
grid <- expand.grid( .n.trees=seq(10,50,10), .interaction.depth=seq(1,4,1), .shrinkage=c(0.01,0.001), .n.minobsinnode=seq(5,20,5))
続いて、train(trainControl)の制御パラメーターが定義されます。trainを使用した交差検証に関する私の考えが正しいかどうか知りたいので、この例では次のように使用します。
train_control <- trainControl('cv',10)
最後に、train関数が実行されます。例えば:
fit <- train(x,y,method="gbm",metric="Kappa",trControl=train_control,tuneGrid=grid)
今、私は電車がうまくいくと推定する方法は次のとおりです:
- 上記の例では、160(5 * 4 * 2 * 4)の可能なパラメーターの組み合わせがあります。
- 各パラメーターの組み合わせトレインは、10分割交差検証を実行します
- パラメーターの組み合わせごと、および(10分割の)分割ごとに、パフォーマンスメトリック(この例ではKappa)が計算されます(この例では、これは1600 Kappaが計算されることを意味します)
- 各パラメーターの組み合わせについて、パフォーマンスメトリックの平均が10倍にわたって計算されます。
- 最高の平均パフォーマンスメトリックを持つパラメーターの組み合わせは、モデルの最適なパラメーターと見なされます
私の質問は簡単です、私の現在の考えは正しいですか?