Оптимизация гиперпараметров Optuna во вложенном цикле CV предполагает идентичные гиперпараметры.Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Оптимизация гиперпараметров Optuna во вложенном цикле CV предполагает идентичные гиперпараметры.

Сообщение Anonymous »


Я выполняю вложенное CV, при этом Optuna работает во внутреннем цикле, а лучшая модель затем оценивается на оставшихся данных внешнего цикла.

Однако Optuna предлагает одни и те же параметры для всех разделений CV, несмотря на разные данные.

я = 0 исследования = {} для external_train_index, external_test_index в external_cv.split(x, y): x_train_outer, x_test_outer = x.iloc[outer_train_index, :], x.iloc[outer_test_index, :] y_train_outer, y_test_outer = y.iloc[outer_train_index], y.iloc[outer_test_index] я += 1 исследования = optuna.create_study(direction='maximize', Study_name=i) исследования.optimize(лямбда-испытание: цель(trial, [...], x_train_outer, y_train_outer), n_trials=500) best_params = исследования.best_params model.set_params(**best_params) best_models.append(модель) [...] best_models возвращает список идентичных моделей.

Вот моя целевая функция:
def Objective(trial, [...], классификатор, x, y): Internal_cv = StratifiedKFold (n_splits=5, shuffle=True, random_state=0) classifier_obj = классификатор (пробная версия) баллы = cross_validate( оценщик = classifier_obj, Х=х, у=у, cv=inner_cv, скоринг = mcc_scorer, n_jobs=-1 ) вернуть результаты['test_score'].mean()
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»