xgboost GridSearchCV 耗时过长或不进行下一步

数据挖掘 机器学习 xgboost 卡格尔 网格搜索 网格搜索
2022-02-28 22:30:21

只是奇怪

%%time
xgb = xgb.XGBRegressor(n_estimators=500, learning_rate=0.07, gamma=0, subsample=0.75, colsample_bytree=1,
                            max_depth=7, tree_method='gpu_exact')

此代码大约需要 Wall 时间:866 毫秒。


但是当我执行 gridsearchCV 时,即使我只提供了一个参数,它也不会进入下一步

    %%time
    xgb = XGBClassifier(tree_method='gpu_exact',verbose_eval=True, silence=False)
    kfold = StratifiedKFold(n_splits=10, random_state=0)
    xgb_param_grid = {
                    'learning_rate': [0.08,0.09],
                    'random_state': [0],
                    'max_depth': [8,9],
                    'n_estimators': [400,500]
    }
    xgbGrid = gsRFC = GridSearchCV(xgb,param_grid = xgb_param_grid, cv=5, scoring="neg_mean_squared_error", n_jobs= 10, verbose = 1)
    xgbGrid.fit(X,y)
    xgb_best = xgbGrid.best_estimator_

for my understanding, this should not take that long.<br/>
it d

不进行下一步我不确定这
是否有效

为 8 个候选人中的每一个拟合 5 折,总共 40 次拟合 [Parallel(n_jobs=10)]:使用后端 LokyBackend 和 10 个并发工作人员。

数据集大小为 (15035, 22) 我做错了吗?

1个回答

基于学习参数、学习率(2)、max_depth(2)和n_estimators(2)的组合,该算法似乎正在做它应该做的事情。将交叉验证设置为 5,它执行 40 次拟合 (2*2*2*5)。您能否添加更多详细信息以阐明您用于执行此任务的配置?