code: def transformDataset(self, df, horizon_index=1):
      series = self.mCycleResidueName
      if self.mExogenousInfo is not None:
          df = self.mExogenousInfo.transformDataset(df)
      # print(df.columns);
      # print(df.info());
      # print(df.head());
      # print(df.tail());
      lag_df = self.generateLagsForForecast(df)
      # print(self.mInputNames);
      # print(self.mFormula, "\n", lag_df.columns);
      # lag_df.to_csv("LAGGED_ " + str(self.mNbLags) + ".csv");
      inputs = lag_df[self.mInputNames].values
      inputs_after_feat_selection = (
          self.mFeatureSelector.transform(inputs)
          if self.mFeatureSelector
          else inputs
      )
      if self.mScikitModel is not None:
          pred = self.mScikitModel.predict(inputs_after_feat_selection)
          df[self.mOutName] = pred
      else:
          df[self.mOutName] = self.mDefaultValues[series]
  
      target = df[series].values
      df[self.mOutName + "_residue"] = target - df[self.mOutName].values
      return df
  
imports: import numpy
  import pandas
  from .None import SignalDecomposition_AR
  from .None import Utils
  import sys
label_desc: Use image node_id 6 for calling the cAbstract_Scikit_Model obj's underlying member method code with example usage: obj.transformDataset(df, horizon_index) and returns: df