code: def transformDataset(self, df):
      df[self.mTimeInfo.mNormalizedTimeColumn + "_^2"] = (
          df[self.mTimeInfo.mNormalizedTimeColumn] ** 2
      )
      df[self.mTimeInfo.mNormalizedTimeColumn + "_^3"] = (
          df[self.mTimeInfo.mNormalizedTimeColumn] ** 3
      )
      target = df[self.mSignal].values
      inputs = df[
          [
              self.mTimeInfo.mNormalizedTimeColumn,
              self.mTimeInfo.mNormalizedTimeColumn + "_^2",
              self.mTimeInfo.mNormalizedTimeColumn + "_^3",
          ]
      ].values
      # print(inputs);
      pred = self.mTrendRidge.predict(inputs)
      df[self.mOutName] = pred
      df[self.mOutName + "_residue"] = target - df[self.mOutName].values
      return df
  
imports: import pandas
  import numpy
  from .None import Time
  from .None import Perf
  from .None import Plots
  from .None import Utils
  import sklearn
  import sklearn.preprocessing
  import sklearn.linear_model
  from sklearn.feature_selection import RFE
  from sklearn.linear_model import LinearRegression
label_desc: Use image node_id 4 for calling the cPolyTrend obj's underlying member method code with example usage: obj.transformDataset(df) and returns: df