Cum de a rezolva această întrebare (Parametri: { "eval_set", "verbose" } ar putea să nu fie folosit.?

0

Problema

Când m-am folosi XGBoostRegressor de a prezice Prețul de Vînzare, și nu încercați pentru a se potrivi modelului.

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

Și apoi am primit un AVERTISMENT.

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.

Repetați și Repetați din nou. Deja m-am schimbat parametrii, dar nu a mers. Și nu am găsit nici o metode de a rezolva aceasta? A făcut cineva cunoștință această ÎNTREBARE? Și Cum să o rezolve? Multumesc.

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

Cel mai bun răspuns

0

Trece eval_set și detaliată pentru a se potrivi() și să nu 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

De fapt, nu e o problemă. Ea doar are nevoie de mai multe minute pentru a calcula. Și am executat codul din consola pentru ca 10 minute, a primit în sfârșit un răspuns.
Max

În doc sa scrie pe XGBRegressor în nota pentru kwargs: **kwargs is unsupported by scikit-learn. We do not guarantee that parameters passed via this argument will interact properly with scikit-learn. Deci, modul corect este de a trece eval_set și verbose în fit(). verbose nu este gravă, dar eval_set dacă sunt ignorate, pot avea consecințe pe obiectivul tau. Până la tine, desigur.
ferdy

În alte limbi

Această pagină este în alte limbi

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