マルチクラスの問題があります。たとえば、データセット データmtcars
セットを取得して、シリンダ数を予測したいとしcyl
ます。
data(mtcars)
パッケージxgboost
を使って装着して使いたい。caret
そのために、次を使用してハイパーパラメータのグリッドを作成します
xgb_grid_param = expand.grid(
nrounds = 1000,
eta = c(0.01, 0.001, 0.0001),
max_depth = c(2, 4),
gamma = 0,
colsample_bytree =1,
min_child_weight =1
)
トレーニング制御パラメーターを次のように作成できます
xgb_tr_ctrl = trainControl(
method = "cv",
number = 5,
repeats =2,
verboseIter = TRUE,
returnData = FALSE,
returnResamp = "all",
allowParallel = TRUE
)
次に、次を使用してtrain
関数を実行しようとするとcaret
:
model <- train(factor(cyl)~., data = mtcars, method = "xgbTree",
trControl = xgb_grid_param, tuneGrid=xgb_grid_param)
エラーが発生します::
Error in trControl$classProbs && any(classLevels != make.names(classLevels)) :
invalid 'x' type in 'x && y'
このエラーを修正する方法と、学習を最適化するxgbTree
ために使用するように指示する方法を教えてください。mlogloss