小编Par*_*raj的帖子

如果我使用 GridsearchCV,如何在 Xgboost 中使用 model.evals_result()?

我正在使用 xgboost 回归器,如果我使用 GridsearchCV,我有一个关于如何使用 model.evals_result() 的问题

我知道如果我不使用 Gridsearch 我可以使用下面的代码得到我想要的

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.33, random_state=1,shuffle=False)

evals_result = {}
eval_s = [(X_train, y_train), (X_test, y_test)]

gbm = xgb.XGBRegressor()
gbm.fit(X_train, y_train,eval_metric=["rmse"],eval_set=eval_s)

results = gbm.evals_result()
Run Code Online (Sandbox Code Playgroud)

但是如果我在代码中使用 GridsearchCV (见下文),我将无法获得 evals_result() 。

有人提供线索吗?

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=.33, random_state=1,shuffle=False)

gbm_param_grid = {'learning_rate': [.01, .1, .5, .9],
                          'n_estimators': [200, 300],
                          'subsample': [0.3, 0.5, 0.9]
                          }

fit_params = {"early_stopping_rounds": 100,
                      "eval_metric": "mae",
                      "eval_set": [(X_train, y_train), (X_test, y_test)]}

evals_result = {}
eval_s …
Run Code Online (Sandbox Code Playgroud)

python scikit-learn grid-search xgboost gridsearchcv

3
推荐指数
1
解决办法
7961
查看次数