docstr: Make an empty DataFrame of the same shape and with the same index as `like`, intended for
  use with output :mod:`~hyperparameter_hunter.data.data_chunks`, like descendants of
  :class:`~hyperparameter_hunter.data.data_chunks.prediction_chunks.BasePredictionChunk` and
  :class:`~hyperparameter_hunter.data.data_chunks.target_chunks.BaseTargetChunk`
  
  Parameters
  ----------
  like: pd.DataFrame
      DataFrame to use as the basis for the shape and index of the returned DataFrame. `like`
      has no bearing on the column names of the returned DataFrame
  index: Array-like, or None, default=None
      If None, defaults to `like.index`. Else, defines the index of the returned DataFrame
  target_column: List[str], or None, default=None
      If None, defaults to the experiment's :attr:`target_column`. Else, defines the column
      names of the returned DataFrame
  
  Returns
  -------
  pd.DataFrame
      Zero-filled DataFrame with index of `index` or `like.index` and column names of
      `target_column` or :attr:`target_column`
docstr_tok: ["Make","an","empty","DataFrame","of","the","same","shape","and","with","the","same","index","as","`","like","`",",","intended","for","use","with","output",":","mod",":","`","~hyperparameter_hunter.data.data_chunks","`",",","like","descendants","of",":","class",":","`","~hyperparameter_hunter.data.data_chunks.prediction_chunks.BasePredictionChunk","`","and",":","class",":","`","~hyperparameter_hunter.data.data_chunks.target_chunks.BaseTargetChunk","`","Parameters","--","--","--","--","--","like",":","pd.DataFrame","DataFrame","to","use","as","the","basis","for","the","shape","and","index","of","the","returned","DataFrame",".","`","like","`","has","no","bearing","on","the","column","names","of","the","returned","DataFrame","index",":","Array-like",",","or","None",",","default=None","If","None",",","defaults","to","`","like.index","`",".","Else",",","defines","the","index","of","the","returned","DataFrame","target_column",":","List","[","str","]",",","or","None",",","default=None","If","None",",","defaults","to","the","experiment","'s",":","attr",":","`","target_column","`",".","Else",",","defines","the","column","names","of","the","returned","DataFrame","Returns","--","--","--","-","pd.DataFrame","Zero-filled","DataFrame","with","index","of","`","index","`","or","`","like.index","`","and","column","names","of","`","target_column","`","or",":","attr",":","`","target_column","`"]
code: def _empty_output_like(
      self, like: pd.DataFrame, index=None, target_column=None
  ):
      """Make an empty DataFrame of the same shape and with the same index as `like`, intended for
      use with output :mod:`~hyperparameter_hunter.data.data_chunks`, like descendants of
      :class:`~hyperparameter_hunter.data.data_chunks.prediction_chunks.BasePredictionChunk` and
      :class:`~hyperparameter_hunter.data.data_chunks.target_chunks.BaseTargetChunk`
  
      Parameters
      ----------
      like: pd.DataFrame
          DataFrame to use as the basis for the shape and index of the returned DataFrame. `like`
          has no bearing on the column names of the returned DataFrame
      index: Array-like, or None, default=None
          If None, defaults to `like.index`. Else, defines the index of the returned DataFrame
      target_column: List[str], or None, default=None
          If None, defaults to the experiment's :attr:`target_column`. Else, defines the column
          names of the returned DataFrame
  
      Returns
      -------
      pd.DataFrame
          Zero-filled DataFrame with index of `index` or `like.index` and column names of
          `target_column` or :attr:`target_column`"""
      index = like.index.copy() if index is None else index
      target_column = (
          self.target_column if target_column is None else target_column
      )
      return pd.DataFrame(0, index=index, columns=target_column)
  
imports: from hyperparameter_hunter.algorithm_handlers import identify_algorithm, identify_algorithm_hyperparameters
  from hyperparameter_hunter.data import TrainDataset, OOFDataset, HoldoutDataset, TestDataset
  from hyperparameter_hunter.experiment_core import ExperimentMeta
  from hyperparameter_hunter.feature_engineering import FeatureEngineer
  from hyperparameter_hunter.i_o.exceptions import EnvironmentInactiveError, EnvironmentInvalidError, RepeatedExperimentError
  from hyperparameter_hunter.i_o.recorders import RecorderList
  from hyperparameter_hunter.keys.makers import HyperparameterKeyMaker
  from hyperparameter_hunter.metrics import ScoringMixIn, get_formatted_target_metric
  from hyperparameter_hunter.models import model_selector
  from hyperparameter_hunter.settings import G
  from hyperparameter_hunter.utils.file_utils import RetryMakeDirs
  from abc import abstractmethod
  from copy import deepcopy
  from inspect import isclass
  import numpy
  import pandas
  import random
  import shutil
  from sys import exc_info
  from uuid import uuid4
  import warnings
  import sklearn.utils
label_desc: Use image node_id 19 for calling the BaseExperiment obj's underlying member method code with example usage: obj._empty_output_like(like, index, target_column) and returns: pd