Skip to content
Jisoo edited this page Feb 8, 2023 · 1 revision

optuna 사용법

  1. optuna 설치

    pip install optuna
  2. import

    import optuna
    from optuna import Trial
  3. sampler import

    from optuna.samplers import TPESampler

    sampler 종류는 아래 링크에 있습니다!

    optuna.samplers - Optuna 3.0.3 documentation

  4. objective 메소드 생성

    1. 딕셔너리에 파라미터 넣기

      tuning 할 파라미터를 trial.suggest_를 이용해 범위 지정.

      종류는 아래 링크 참조!

      매개변수로 name, low, high는 필수, step은 필요한 경우 넣어줌.

      params = {
              'objective': 'binary',
              'bagging_fraction': trial.suggest_float("bagging_fraction", 0.5, 0.6, step=0.01),
              'bagging_seed': 11, ##
              'learning_rate': trial.suggest_categorical("lr", [0.001, 0.005, 0.01, 0.05, 0.1]),
              'num_iterations': trial.suggest_int("n_iter", 100, 1000, 100),
              'max_depth': trial.suggest_categorical('max_depth', [-1, 1]), # need to consider
              'boosting': 'gbdt',
              'early_stopping': trial.suggest_categorical('patience', [0, 5, 10, 15, 20])
          }

      optuna.trial.Trial - Optuna 3.0.3 documentation

    2. 모델 train, predict

  5. study 생성 후 optimize하여 최적의 파라미터 찾기

    sampler = TPESampler(seed=42)
    study = optuna.create_study(
        study_name="lgbm_parameter_opt",
        direction="maximize",
        sampler=sampler,
    )
    study.optimize(objective, n_trials=10)
    print("Best Score:", study.best_value)
    print("Best trial:", study.best_trial.params)
  6. 결과

image

Clone this wiki locally