code: def fit(self, df, **kwargs):
      super().fit(df, **kwargs)
      posterior_samples = self._posterior_samples
      map_posterior = {}
      for param_name in self._model.get_model_param_names():
          param_array = posterior_samples[param_name]
          # add one dimension as batch to have consistent logic with `.predict()`
          param_array = np.expand_dims(param_array, axis=0)
          map_posterior.update({param_name: param_array})
  
      self._point_posteriors[PredictMethod.MAP.value] = map_posterior
      # TODO: right now this is hacky:
      #  need to do it one more time to over-write the extra methods with right posterior
      self.load_extra_methods()
  
      return self
  
file_path: orbit/orbit/forecaster/map.py
imports: import numpy
  import pandas
  from functools import partial
  from ..constants.constants import PredictMethod, PredictionKeys
  from ..exceptions import ForecasterException
  from ..utils.predictions import prepend_date_column, compute_percentiles
  from .forecaster import Forecaster
label_desc: Use image node_id 3 for calling the MAPForecaster obj's underlying member method code with example usage: obj.fit(df) and returns: self