code: def create_model(
      estimator: Union[str, Any],
      fold: Optional[Union[int, Any]] = None,
      round: int = 4,
      cross_validation: bool = True,
      fit_kwargs: Optional[dict] = None,
      engine: Optional[str] = None,
      verbose: bool = True,
      **kwargs,
  ):
      """
      This function trains and evaluates the performance of a given estimator
      using cross validation. The output of this function is a score grid with
      CV scores by fold. Metrics evaluated during CV can be accessed using the
      ``get_metrics`` function. Custom metrics can be added or removed using
      ``add_metric`` and ``remove_metric`` function. All the available models
      can be accessed using the ``models`` function.
  
  
      Example
      -------
      >>> from pycaret.datasets import get_data
      >>> airline = get_data('airline')
      >>> from pycaret.time_series import *
      >>> exp_name = setup(data = airline,  fh = 12)
      >>> naive = create_model('naive')
  
      estimator: str or sktime compatible object
          ID of an estimator available in model library or pass an untrained
          model object consistent with scikit-learn API. Estimators available
          in the model library (ID - Name):
  
          NOTE: The available estimators depend on multiple factors such as what
          libraries have been installed and the setup of the experiment. As such,
          some of these may not be available for your experiment. To see the list
          of available models, please run `setup()` first, then `models()`.
  
          * 'naive' - Naive Forecaster
          * 'grand_means' - Grand Means Forecaster
          * 'snaive' - Seasonal Naive Forecaster (disabled when seasonal_period = 1)
          * 'polytrend' - Polynomial Trend Forecaster
          * 'arima' - ARIMA family of models (ARIMA, SARIMA, SARIMAX)
          * 'auto_arima' - Auto ARIMA
          * 'exp_smooth' - Exponential Smoothing
          * 'stlf' - STL Forecaster
          * 'croston' - Croston Forecaster
          * 'ets' - ETS
          * 'theta' - Theta Forecaster
          * 'tbats' - TBATS
          * 'bats' - BATS
          * 'prophet' - Prophet Forecaster
          * 'lr_cds_dt' - Linear w/ Cond. Deseasonalize & Detrending
          * 'en_cds_dt' - Elastic Net w/ Cond. Deseasonalize & Detrending
          * 'ridge_cds_dt' - Ridge w/ Cond. Deseasonalize & Detrending
          * 'lasso_cds_dt' - Lasso w/ Cond. Deseasonalize & Detrending
          * 'llar_cds_dt' - Lasso Least Angular Regressor w/ Cond. Deseasonalize & Detrending
          * 'br_cds_dt' - Bayesian Ridge w/ Cond. Deseasonalize & Deseasonalize & Detrending
          * 'huber_cds_dt' - Huber w/ Cond. Deseasonalize & Detrending
          * 'omp_cds_dt' - Orthogonal Matching Pursuit w/ Cond. Deseasonalize & Detrending
          * 'knn_cds_dt' - K Neighbors w/ Cond. Deseasonalize & Detrending
          * 'dt_cds_dt' - Decision Tree w/ Cond. Deseasonalize & Detrending
          * 'rf_cds_dt' - Random Forest w/ Cond. Deseasonalize & Detrending
          * 'et_cds_dt' - Extra Trees w/ Cond. Deseasonalize & Detrending
          * 'gbr_cds_dt' - Gradient Boosting w/ Cond. Deseasonalize & Detrending
          * 'ada_cds_dt' - AdaBoost w/ Cond. Deseasonalize & Detrending
          * 'lightgbm_cds_dt' - Light Gradient Boosting w/ Cond. Deseasonalize & Detrending
          * 'catboost_cds_dt' - CatBoost w/ Cond. Deseasonalize & Detrending
  
  
      fold: int or scikit-learn compatible CV generator, default = None
          Controls cross-validation. If None, the CV generator in the ``fold_strategy``
          parameter of the ``setup`` function is used. When an integer is passed,
          it is interpreted as the 'n_splits' parameter of the CV generator in the
          ``setup`` function.
  
  
      round: int, default = 4
          Number of decimal places the metrics in the score grid will be rounded to.
  
  
      cross_validation: bool, default = True
          When set to False, metrics are evaluated on holdout set. ``fold`` param
          is ignored when cross_validation is set to False.
  
  
      fit_kwargs: dict, default = {} (empty dict)
          Dictionary of arguments passed to the fit method of the model.
  
  
      engine: Optional[str] = None
          The engine to use for the model, e.g. for auto_arima, users can
          switch between "pmdarima" and "statsforecast" by specifying
          engine="statsforecast".
  
  
      verbose: bool, default = True
          Score grid is not printed when verbose is set to False.
  
  
      **kwargs:
          Additional keyword arguments to pass to the estimator.
  
  
      Returns:
          Trained Model
  
  
      Warnings
      --------
      - Models are not logged on the ``MLFlow`` server when ``cross_validation`` param
        is set to False.
  
      """
  
      return _CURRENT_EXPERIMENT.create_model(
          estimator=estimator,
          fold=fold,
          round=round,
          cross_validation=cross_validation,
          fit_kwargs=fit_kwargs,
          engine=engine,
          verbose=verbose,
          **kwargs,
      )
  
imports: import logging
  import os
  from typing import TYPE_CHECKING, Any, BinaryIO, Callable, Dict, List, Optional, Tuple, Union
  import numpy
  import pandas
  from pycaret.internal.parallel.parallel_backend import ParallelBackend
  from pycaret.time_series.forecasting.oop import TSForecastingExperiment
  from pycaret.utils.generic import check_if_global_is_not_none
label_desc: Use image node_id 5 for calling a global function with example usage: create_model(estimator, fold, round, cross_validation, fit_kwargs, engine, verbose) and returns: _CURRENT_EXPERIMENT