Jak rozwiązać ten problem (Opcje: { "eval_set", "szczegółowy" } mogą nie być używane.?

0

Pytanie

Gdy używam XGBoostRegressor do prognozowania cen akcji, i staram się dopasować do modelu.

    # 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_}')

A potem dostałem OSTRZEŻENIE.

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.

Powtarzać i powtarzać ponownie. Ja już zmieniłem ustawienia, ale to nie zadziałało. I nie znalazłem żadnych metod jego rozwiązania? Czy ktoś zetknął się z tym PROBLEMEM? I jak to rozwiązać? Dziękuję.

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

Najlepsza odpowiedź

0

Powiedz eval_set i szczegółowo, aby dopasować (), a nie XGBRegressor()

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

Link: https://xgboost.readthedocs.io/en/latest/python/python_api.html?выделите=подходит#xgboost.XGBRFRegressor.подходит

2021-11-24 21:13:16

Właściwie, to nie problem. Po prostu do obliczania wymaga więcej minut. I wykonałem kod w konsoli około 10 minut, w końcu dostał odpowiedź.
Max

W dokumencie jest mowa o XGBRegressor w notatce dla кваргов: **kwargs is unsupported by scikit-learn. We do not guarantee that parameters passed via this argument will interact properly with scikit-learn. Dlatego właściwy sposób-wyślij eval_set i szczegółowo opisać w fit(). gadatliwość nie jest poważne, ale eval_set, jeśli zignorować, może mieć konsekwencje dla swojego celu. Oczywiście, to zależy od ciebie.
ferdy

W innych językach

Ta strona jest w innych językach

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