首页 > 解决方案 > 如何设置嵌套 cv 以调整 xgboost 的超参数和最佳迭代次数?

问题描述

我尝试在 R 中为 xgboost 设置超参数调整。

我想使用本文中可视化的嵌套交叉验证:

https://weina.me/nested-cross-validation/

总而言之,我将:

尽管我注意到我可以找到的所有示例都已经在模型训练中使用了训练和测试数据,以便找到最佳迭代次数。

例如在这段代码中:

    # Transform the two data sets into xgb.Matrix
    xgb_train = xgb.DMatrix(data=train.data,label=train.label)
    xgb_test = xgb.DMatrix(data=test.data,label=test.label)

    # Train the XGBoost classifer
    xgb.fit=xgb.train(
      params=params,
      data=xgb_train,
      nrounds=10000,
      nthreads=1,
      early_stopping_rounds=10,
      watchlist=list(val1=xgb_train,val2=xgb_test),
      verbose=0
    )

如果测试数据已经用于优化迭代次数,我还可以在内循环中再次使用它来调整超参数吗?我想这是不正确的,因为在这种情况下我使用了两次测试数据?

标签: rxgboosthyperparameters

解决方案


推荐阅读