Ошибка при использовании optuna при подборе гиперпараметров

Рейтинг: 0Ответов: 0Опубликовано: 02.05.2023
def objective(trial,data = X,target = y):
   
   
   param = { 
       'n_estimators': 5000,
       'reg_alpha': trial.suggest_float('reg_alpha', 1e-3, 5.0),
       'reg_lambda': trial.suggest_float('reg_lambda', 1e-3, 5.0),
       'colsample_bytree': trial.suggest_float('colsample_bytree', 0.3, 0.9),
       'subsample': trial.suggest_float('subsample', 0.4, 1.0),
       'learning_rate': trial.suggest_float('learning_rate', 0.006, 0.02),
       'max_depth': trial.suggest_int('max_depth', 9,12)
   }
   
   model = XGBRegressor(**param)  
   
   scores = cross_validate(model, X, y, cv=5, return_train_score=True)

   return scores

study = optuna.create_study(direction='minimize')
study.optimize(objective, n_trials=10)
print('Number of finished trials:', len(study.trials))
print('Best trial:', study.best_trial.params)

При подборе выдает всегда сообщение:

"Trial 0 failed with parameters:... could not be cast to float"

А после ошибку:

ValueError: No trials are completed yet 

Ответы

Ответов пока нет.