optuna.create_study

optuna.create_study(*, storage=None, sampler=None, pruner=None, study_name=None, direction=None, load_if_exists=False, directions=None)[source]

新しい Study を作成します。

使用例

import optuna


def objective(trial):
    x = trial.suggest_float("x", 0, 10)
    return x**2


study = optuna.create_study()
study.optimize(objective, n_trials=3)
Parameters:
  • storage (str | storages.BaseStorage | None) –

    データベースの URL。この引数を None に設定すると、 InMemoryStorage が使用され、 Study は永続化されません。

    Note

    データベース URL を指定する場合、Optuna は内部で SQLAlchemy を使用して データベースを管理します。詳細は SQLAlchemy のドキュメント を参照してください。 SQLAlchemy Engine のデフォルト以外のオプションを指定する場合は、 希望するオプションで RDBStorage をインスタンス化し、 URL の代わりに storage 引数として渡してください。

  • sampler ('samplers.BaseSampler' | None) – 値の提案を行う背景アルゴリズムを実装したサンプラーオブジェクト。 None を指定すると、単一目的最適化では TPESampler、 多目的最適化では NSGAIISampler が使用されます。 samplers も参照してください。

  • pruner (pruners.BasePruner | None) – 見込みのないトライアルの早期停止を決定するプルーナーオブジェクト。 None を指定すると、デフォルトで MedianPruner が使用されます。 pruners も参照してください。

  • study_name (str | None) – スタディの名前。この引数を None に設定すると、自動的に一意の名前が生成されます。

  • direction (str | StudyDirection | None) –

    最適化の方向。最小化の場合は minimize、最大化の場合は maximize を指定します。 対応する StudyDirection オブジェクトも指定可能です。 directiondirections は同時に指定できません。

    Note

    directiondirections のいずれも指定しない場合、スタディの方向は “minimize” に設定されます。

  • load_if_exists (bool) – スタディ名の競合が発生した場合の処理を制御するフラグ。 storagestudy_name という名前のスタディが既に存在する場合、 load_if_existsFalse に設定されていると DuplicatedStudyError が発生します。 それ以外の場合、スタディの作成はスキップされ、既存のものが返されます。

  • directions (Sequence[str | StudyDirection] | None) – 多目的最適化時の方向のシーケンス。 directiondirections は同時に指定できません。

Returns:

Study オブジェクト。

Return type:

Study

See also

optuna.create_study()optuna.study.create_study() のエイリアスです。

See also

RDBバックエンドを使用したスタディの保存/再開 チュートリアルでは、RDB を使用した最適化の保存と再開の具体的な例を提供しています。