docstr: Create an automated Prophet Model.
  User need to specify either the exact value or the search space of the
  Prophet model hyperparameters. For details of the Prophet model hyperparameters, refer to
  https://facebook.github.io/prophet/docs/diagnostics.html#hyperparameter-tuning.
  
  :param changepoint_prior_scale: Int or hp sampling function from an integer space
      for hyperparameter changepoint_prior_scale for the Prophet model.
      For hp sampling, see bigdl.chronos.orca.automl.hp for more details.
      e.g. hp.loguniform(0.001, 0.5).
  :param seasonality_prior_scale: hyperparameter seasonality_prior_scale for the
      Prophet model.
      e.g. hp.loguniform(0.01, 10).
  :param holidays_prior_scale: hyperparameter holidays_prior_scale for the
      Prophet model.
      e.g. hp.loguniform(0.01, 10).
  :param seasonality_mode: hyperparameter seasonality_mode for the
      Prophet model.
      e.g. hp.choice(['additive', 'multiplicative']).
  :param changepoint_range: hyperparameter changepoint_range for the
      Prophet model.
      e.g. hp.uniform(0.8, 0.95).
  :param metric: String or customized evaluation metric function.
      If string, metric is the evaluation metric name to optimize, e.g. "mse".
      If callable function, it signature should be func(y_true, y_pred), where y_true and
      y_pred are numpy ndarray. The function should return a float value as evaluation result.
  :param metric_mode: One of ["min", "max"]. "max" means greater metric value is better.
      You have to specify metric_mode if you use a customized metric function.
      You don't have to specify metric_mode if you use the built-in metric in
      bigdl.orca.automl.metrics.Evaluator.
  :param logs_dir: Local directory to save logs and results. It defaults to
      "/tmp/auto_prophet_logs"
  :param cpus_per_trial: Int. Number of cpus for each trial. It defaults to 1.
  :param name: name of the AutoProphet. It defaults to "auto_prophet"
  :param remote_dir: String. Remote directory to sync training results and checkpoints. It
      defaults to None and doesn't take effects while running in local. While running in
      cluster, it defaults to "hdfs:///tmp/{name}".
  :param load_dir: Load the ckpt from load_dir. The value defaults to None.
  
  :param prophet_config: Other Prophet hyperparameters.
docstr_tok: ["Create","an","automated","Prophet","Model",".","User","need","to","specify","either","the","exact","value","or","the","search","space","of","the","Prophet","model","hyperparameters",".","For","details","of","the","Prophet","model","hyperparameters",",","refer","to","https",":","\/\/facebook.github.io\/prophet\/docs\/diagnostics.html","#","hyperparameter-tuning",".",":","param","changepoint_prior_scale",":","Int","or","hp","sampling","function","from","an","integer","space","for","hyperparameter","changepoint_prior_scale","for","the","Prophet","model",".","For","hp","sampling",",","see","bigdl.chronos.orca.automl.hp","for","more","details",".","e.g",".","hp.loguniform","(","0.001",",","0.5",")",".",":","param","seasonality_prior_scale",":","hyperparameter","seasonality_prior_scale","for","the","Prophet","model",".","e.g",".","hp.loguniform","(","0.01",",","10",")",".",":","param","holidays_prior_scale",":","hyperparameter","holidays_prior_scale","for","the","Prophet","model",".","e.g",".","hp.loguniform","(","0.01",",","10",")",".",":","param","seasonality_mode",":","hyperparameter","seasonality_mode","for","the","Prophet","model",".","e.g",".","hp.choice","(","[","'additive","'",",","'multiplicative","'","]",")",".",":","param","changepoint_range",":","hyperparameter","changepoint_range","for","the","Prophet","model",".","e.g",".","hp.uniform","(","0.8",",","0.95",")",".",":","param","metric",":","String","or","customized","evaluation","metric","function",".","If","string",",","metric","is","the","evaluation","metric","name","to","optimize",",","e.g",".","``","mse","''",".","If","callable","function",",","it","signature","should","be","func","(","y_true",",","y_pred",")",",","where","y_true","and","y_pred","are","numpy","ndarray",".","The","function","should","return","a","float","value","as","evaluation","result",".",":","param","metric_mode",":","One","of","[","``","min","''",",","``","max","''","]",".","``","max","''","means","greater","metric","value","is","better",".","You","have","to","specify","metric_mode","if","you","use","a","customized","metric","function",".","You","do","n't","have","to","specify","metric_mode","if","you","use","the","built-in","metric","in","bigdl.orca.automl.metrics.Evaluator",".",":","param","logs_dir",":","Local","directory","to","save","logs","and","results",".","It","defaults","to","``","\/tmp\/auto_prophet_logs","''",":","param","cpus_per_trial",":","Int",".","Number","of","cpus","for","each","trial",".","It","defaults","to","1.",":","param","name",":","name","of","the","AutoProphet",".","It","defaults","to","``","auto_prophet","''",":","param","remote_dir",":","String",".","Remote","directory","to","sync","training","results","and","checkpoints",".","It","defaults","to","None","and","does","n't","take","effects","while","running","in","local",".","While","running","in","cluster",",","it","defaults","to","``","hdfs",":","\/\/\/tmp\/","{","name","}","''",".",":","param","load_dir",":","Load","the","ckpt","from","load_dir",".","The","value","defaults","to","None",".",":","param","prophet_config",":","Other","Prophet","hyperparameters","."]
code: def __init__(
      self,
      changepoint_prior_scale=None,
      seasonality_prior_scale=None,
      holidays_prior_scale=None,
      seasonality_mode=None,
      changepoint_range=None,
      metric="mse",
      metric_mode=None,
      logs_dir="/tmp/auto_prophet_logs",
      cpus_per_trial=1,
      name="auto_prophet",
      remote_dir=None,
      load_dir=None,
      **prophet_config,
  ):
      """
      Create an automated Prophet Model.
      User need to specify either the exact value or the search space of the
      Prophet model hyperparameters. For details of the Prophet model hyperparameters, refer to
      https://facebook.github.io/prophet/docs/diagnostics.html#hyperparameter-tuning.
  
      :param changepoint_prior_scale: Int or hp sampling function from an integer space
          for hyperparameter changepoint_prior_scale for the Prophet model.
          For hp sampling, see bigdl.chronos.orca.automl.hp for more details.
          e.g. hp.loguniform(0.001, 0.5).
      :param seasonality_prior_scale: hyperparameter seasonality_prior_scale for the
          Prophet model.
          e.g. hp.loguniform(0.01, 10).
      :param holidays_prior_scale: hyperparameter holidays_prior_scale for the
          Prophet model.
          e.g. hp.loguniform(0.01, 10).
      :param seasonality_mode: hyperparameter seasonality_mode for the
          Prophet model.
          e.g. hp.choice(['additive', 'multiplicative']).
      :param changepoint_range: hyperparameter changepoint_range for the
          Prophet model.
          e.g. hp.uniform(0.8, 0.95).
      :param metric: String or customized evaluation metric function.
          If string, metric is the evaluation metric name to optimize, e.g. "mse".
          If callable function, it signature should be func(y_true, y_pred), where y_true and
          y_pred are numpy ndarray. The function should return a float value as evaluation result.
      :param metric_mode: One of ["min", "max"]. "max" means greater metric value is better.
          You have to specify metric_mode if you use a customized metric function.
          You don't have to specify metric_mode if you use the built-in metric in
          bigdl.orca.automl.metrics.Evaluator.
      :param logs_dir: Local directory to save logs and results. It defaults to
          "/tmp/auto_prophet_logs"
      :param cpus_per_trial: Int. Number of cpus for each trial. It defaults to 1.
      :param name: name of the AutoProphet. It defaults to "auto_prophet"
      :param remote_dir: String. Remote directory to sync training results and checkpoints. It
          defaults to None and doesn't take effects while running in local. While running in
          cluster, it defaults to "hdfs:///tmp/{name}".
      :param load_dir: Load the ckpt from load_dir. The value defaults to None.
  
      :param prophet_config: Other Prophet hyperparameters.
      """
      if load_dir:
          self.best_model = ProphetModel()
          self.best_model.restore(load_dir)
      try:
          from bigdl.orca.automl.auto_estimator import AutoEstimator
          import bigdl.orca.automl.hp as hp
  
          self.search_space = {
              "changepoint_prior_scale": hp.grid_search(
                  [0.005, 0.05, 0.1, 0.5]
              )
              if changepoint_prior_scale is None
              else changepoint_prior_scale,
              "seasonality_prior_scale": hp.grid_search(
                  [0.01, 0.1, 1.0, 10.0]
              )
              if seasonality_prior_scale is None
              else seasonality_prior_scale,
              "holidays_prior_scale": hp.loguniform(0.01, 10)
              if holidays_prior_scale is None
              else holidays_prior_scale,
              "seasonality_mode": hp.choice(
                  ["additive", "multiplicative"]
              )
              if seasonality_mode is None
              else seasonality_mode,
              "changepoint_range": hp.uniform(0.8, 0.95)
              if changepoint_range is None
              else changepoint_range,
          }
          self.search_space.update(
              prophet_config
          )  # update other configs
          self.metric = metric
          self.metric_mode = metric_mode
          model_builder = ProphetBuilder()
          self.auto_est = AutoEstimator(
              model_builder=model_builder,
              logs_dir=logs_dir,
              resources_per_trial={"cpu": cpus_per_trial},
              remote_dir=remote_dir,
              name=name,
          )
      except ImportError:
          warnings.warn(
              "You need to install `bigdl-orca[automl]` to use `fit` function."
          )
  
file_path: BigDL/python/chronos/src/bigdl/chronos/autots/model/auto_prophet.py
imports: import pandas
  import warnings
  from bigdl.chronos.model.prophet import ProphetBuilder, ProphetModel
  from bigdl.chronos.autots.utils import recalculate_n_sampling
label_desc: Use image node_id 1 to create a new AutoProphet object  with example: obj = AutoProphet(changepoint_prior_scale, seasonality_prior_scale, holidays_prior_scale, seasonality_mode, changepoint_range, metric, metric_mode, logs_dir, cpus_per_trial, name, remote_dir, load_dir)