使用expand.grid的多类分类

时间:2019-01-11 14:47:21

标签: r r-caret xgboost multiclass-classification

到目前为止,我使用“插入符”包构建了许多分类模型。该库使我可以通过使用expand.grid并尝试某些参数的所有可能组合来找到XGBoost的最佳参数,如下例所示。



     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)

关于使用多类分类问题如何使用网格(可能使用插入符号包)尝试许多参数的任何想法? 谢谢

0 个答案:

没有答案