Мультиклассовая классификация с использованием expand.grid - PullRequest
0 голосов
/ 11 января 2019

До сих пор я построил много классификационных моделей, используя пакет "Caret". Эта библиотека позволяет мне находить лучшие параметры для XGBoost, используя expand.grid и пробуя все возможные комбинации некоторых параметров, как показано в примере ниже.



     trControl = trainControl(
          method = 'cv',
          number = 3,
          returnData=F,
          classProbs = TRUE,
          verboseIter = TRUE,
          allowParallel = TRUE)

        tuneGridXGB <- expand.grid(
          nrounds=c(10, 50, 100, 200, 350, 500),
          max_depth = c(2,4),
          eta = c(0.005, 0.01, 0.05, 0.1),
          gamma = c(0,2,4),
          colsample_bytree = c(0.75),
          subsample = c(0.50),
          min_child_weight = c(0,2,4))

        xgbmod_classif_bin <- train(
          x=eg_Train_mat,
          y= y_train_target,
          method = "xgbTree",
          metric = "auc",
          reg_lambda=0.7,
          scale_pos_weight=1.6,
          nthread = 4,
          trControl = trControl,
          tuneGrid = tuneGridXGB,
          verbose=T)

Впервые у меня возникла проблема с классификацией мультиклассов (с 9 классами), но я, похоже, не могу использовать что-то вроде "multi: softprob" (как я делал бы с пакетом xgboost - см. ниже).


    param=list(objective="multi:softprob",   
               num_class=9,
               eta=0.005,
               max.depth=4,
               min_child_weight=2,
               gamma=6,
               eval_metric ="merror",
               nthread=4,
               booster = "gbtree",
               lambda=1.8,
               subssample=0.8,
               alpha=6,
               colsample_bytree=0.5,
               scale_pos_weight=1.6,
               verbosity=3
    )


    bst=xgboost(params = param, 
                data = eg_Train_mat, 
                nrounds = 15)

Есть идеи, как попробовать много параметров, используя сетку, возможно, с помощью пакета caret, для задачи классификации мультикласса? Спасибо

...