class_docstr: Optimises hyper-parameters of the whole Pipeline.
  
  - NA encoder (missing values encoder)
  - CA encoder (categorical features encoder)
  - Feature selector (OPTIONAL)
  - Stacking estimator - feature engineer (OPTIONAL)
  - Estimator (classifier or regressor)
  
  Works for both regression and classification (multiclass or binary) tasks.
  
  Parameters
  ----------
  scoring : str, callable or None. default: None
      A string or a scorer callable object.
  
      If None, "neg_log_loss" is used for classification and
      "neg_mean_squared_error" for regression
  
      Available scorings can be found in the module sklearn.metrics:
      https://scikit-learn.org/stable/modules/model_evaluation.html#the-scoring-parameter-defining-model-evaluation-rules
  
  n_folds : int, default = 2
      The number of folds for cross validation (stratified for classification)
  
  random_state : int, default = 1
      Pseudo-random number generator state used for shuffling
  
  to_path : str, default = "save"
      Name of the folder where models are saved
  
  verbose : bool, default = True
      Verbose mode
class_docstr_tok: ["Optimises","hyper-parameters","of","the","whole","Pipeline",".","-","NA","encoder","(","missing","values","encoder",")","-","CA","encoder","(","categorical","features","encoder",")","-","Feature","selector","(","OPTIONAL",")","-","Stacking","estimator","-","feature","engineer","(","OPTIONAL",")","-","Estimator","(","classifier","or","regressor",")","Works","for","both","regression","and","classification","(","multiclass","or","binary",")","tasks",".","Parameters","--","--","--","--","--","scoring",":","str",",","callable","or","None",".","default",":","None","A","string","or","a","scorer","callable","object",".","If","None",",","``","neg_log_loss","''","is","used","for","classification","and","``","neg_mean_squared_error","''","for","regression","Available","scorings","can","be","found","in","the","module","sklearn.metrics",":","https",":","\/\/scikit-learn.org\/stable\/modules\/model_evaluation.html","#","the-scoring-parameter-defining-model-evaluation-rules","n_folds",":","int",",","default","=","2","The","number","of","folds","for","cross","validation","(","stratified","for","classification",")","random_state",":","int",",","default","=","1","Pseudo-random","number","generator","state","used","for","shuffling","to_path",":","str",",","default","=","``","save","''","Name","of","the","folder","where","models","are","saved","verbose",":","bool",",","default","=","True","Verbose","mode"]
code: def __init__(
      self,
      scoring=None,
      n_folds=2,
      random_state=1,
      to_path="save",
      verbose=True,
  ):
      self.scoring = scoring
      self.n_folds = n_folds
      self.random_state = random_state
      self.to_path = to_path
      self.verbose = verbose
  
      warnings.warn(
          "Optimiser will save all your fitted models into directory '"
          + str(self.to_path)
          + "/joblib'. Please clear it regularly."
      )
  
imports: import numpy
  import pandas
  import warnings
  import time
  from hyperopt import fmin, hp, tpe
  from sklearn.model_selection import cross_val_score, KFold, StratifiedKFold
  from sklearn.pipeline import Pipeline
  from sklearn.metrics import SCORERS, make_scorer, roc_auc_score
  from ..encoding.na_encoder import NA_encoder
  from ..encoding.categorical_encoder import Categorical_encoder
  from ..model.classification.feature_selector import Clf_feature_selector
  from ..model.regression.feature_selector import Reg_feature_selector
  from ..model.classification.stacking_classifier import StackingClassifier
  from ..model.regression.stacking_regressor import StackingRegressor
  from ..model.classification.classifier import Classifier
  from ..model.regression.regressor import Regressor
label_desc: Use image node_id 1 to create a new Optimiser object  with example: obj = Optimiser(scoring, n_folds, random_state, to_path, verbose)