# optuna.study.create_study¶

optuna.study.create_study(storage: Union[str, optuna.storages._base.BaseStorage, None] = None, sampler: Optional[samplers.BaseSampler] = None, pruner: Optional[optuna.pruners._base.BasePruner] = None, study_name: Optional[str] = None, direction: str = 'minimize', load_if_exists: bool = False)optuna.study.Study[source]

Create a new Study.

Example

import optuna

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

study = optuna.create_study()
study.optimize(objective, n_trials=3)

Parameters
• storage

Database URL. If this argument is set to None, in-memory storage is used, and the Study will not be persistent.

Note

When a database URL is passed, Optuna internally uses SQLAlchemy to handle the database. Please refer to SQLAlchemy’s document for further details. If you want to specify non-default options to SQLAlchemy Engine, you can instantiate RDBStorage with your desired options and pass it to the storage argument instead of a URL.

• sampler – A sampler object that implements background algorithm for value suggestion. If None is specified, TPESampler is used as the default. See also samplers.

• pruner – A pruner object that decides early stopping of unpromising trials. If None is specified, MedianPruner is used as the default. See also pruners.

• study_name – Study’s name. If this argument is set to None, a unique name is generated automatically.

• direction – Direction of optimization. Set minimize for minimization and maximize for maximization.

• load_if_exists – Flag to control the behavior to handle a conflict of study names. In the case where a study named study_name already exists in the storage, a DuplicatedStudyError is raised if load_if_exists is set to False. Otherwise, the creation of the study is skipped, and the existing one is returned.

Returns

A Study object.

See also