1
我有一個多類問題:例如,我們可以採用數據集mtcars
數據集,我們想要預測氣瓶的數量cyl
。如何指示插入符號中的xgboost使用mlogloss進行優化
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
)
當我再嘗試使用caret
運行train
功能:
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
,優化學習。