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);
      # lag_df.to_csv("LAGGED_ " + str(self.mNbLags) + ".csv");
      inputs = lag_df[self.mInputNames].values
      inputs = self.reshape_inputs(inputs)
  
      # print("BEFORE_PREDICT", self.mFormula, "\n", self.mModel.__dict__);
      lPredicted = self.mModel.predict(inputs)
      lPredicted = np.reshape(lPredicted, (lPredicted.shape[0]))
      df[self.mOutName] = lPredicted
      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
  import sys
label_desc: Use image node_id 6 for calling the cAbstract_RNN_Model obj's underlying member method code with example usage: obj.transformDataset(df, horizon_index) and returns: df