GBMパッケージとGBMを使用したキャレット
私はを使用してモデルのチューニングを行ってきましたがcaret、gbmパッケージを使用してモデルを再実行しています。caretパッケージが使用gbmし、出力が同じである必要があることは私の理解です。ただし、を使用した簡単なテスト実行でdata(iris)は、評価指標としてRMSEとR ^ 2を使用したモデルで約5%の不一致が示されています。を使用して最適なモデルのパフォーマンスを見つけたいが、部分的な依存関係プロットを利用するためにcaret再実行しgbmます。再現性のために以下のコード。 私の質問は次のとおりです。 1)これらの2つのパッケージは同じであっても違いがあるのはなぜですか(確率的ですが、5%がやや大きな違いであることがわかります。特に、次のような素晴らしいデータセットを使用していない場合 iris、モデリングの) 。 2)両方のパッケージを使用する利点または欠点はありますか? 3)無関係:irisデータセットを使用した場合、最適な値interaction.depthは5ですが、読み取り値が最大値floor(sqrt(ncol(iris)))である2 を超えるはずです。これは厳密な経験則ですか、それとも非常に柔軟ですか。 library(caret) library(gbm) library(hydroGOF) library(Metrics) data(iris) # Using caret caretGrid <- expand.grid(interaction.depth=c(1, 3, 5), n.trees = (0:50)*50, shrinkage=c(0.01, 0.001), n.minobsinnode=10) metric <- "RMSE" trainControl <- trainControl(method="cv", number=10) set.seed(99) gbm.caret <- train(Sepal.Length ~ ., data=iris, distribution="gaussian", method="gbm", trControl=trainControl, verbose=FALSE, tuneGrid=caretGrid, metric=metric, bag.fraction=0.75) …