如何解决这个问题(参数:{"eval_set","详细"}也许不能使用。?

0

的问题

当我用XGBoostRegressor预测股票价格的,我尝试适应的模式。

    # XGBoostRegressor
parameters = {
    'n_estimators': [100, 200, 300, 400],
    'learning_rate': [0.001, 0.005, 0.01, 0.05],
    'max_depth': [8, 10, 12, 15],
    'gamma': [0.001, 0.005, 0.01, 0.02],
    'random_state': [42]
}

eval_set = [(X_train, y_train), (X_valid, y_valid)]
model = xgb.XGBRegressor(eval_set = eval_set, objective = 'reg:squarederror', verbose = False)
clf = GridSearchCV(model, parameters)

clf.fit(X_train, y_train)

print(f'Best params: {clf.best_params_}')
print(f'Best validation score = {clf.best_score_}')

然后我得到一个警告。

Parameters: { "eval_set", "verbose" } might not be used.
  This could be a false alarm, with some parameters getting used by language bindings but
  then being mistakenly passed down to XGBoost core, or some parameter actually being used
  but getting flagged wrongly here. Please open an issue if you find any such cases.

重复再重复。 我已经改变的参数,但它没有工作。 我没有找到任何方法来解决它吗? 有没有人见面这个问题? 以及如何解决? 谢谢。

machine-learning python warnings xgboost
2021-11-23 16:58:31
1

最好的答案

0

通过eval_set和详细的适合()并不要XGBRegressor()

clf.fit(X_train, y_train, eval_set=eval_set, verbose=False)

Ref.: https://xgboost.readthedocs.io/en/latest/python/python_api.html?highlight=fit#xgboost.XGBRFRegressor.fit

2021-11-24 21:13:16

实际上,这不是一个问题。 它只是需要更多分钟计算。 和我的执行代码在控制台于10分钟,终于得到了回答。
Max

在doc其说在XGBRegressor在注意kwargs: **kwargs is unsupported by scikit-learn. We do not guarantee that parameters passed via this argument will interact properly with scikit-learn. 所以适当的方式是通过eval_set和详细的适合(). 详细是不严重,但eval_set如果忽视可能产生的后果在你的目标。 你的课程。
ferdy

其他语言

此页面有其他语言版本

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................