class_docstr: Defines and formats data for the Alpha158 dataset.
  
  Attributes:
    column_definition: Defines input and data type of column used in the
      experiment.
    identifiers: Entity identifiers used in experiments.
docstr: Splits data frame into training-validation-test data frames.
  
  This also calibrates scaling object, and transforms data for each split.
  
  Args:
    df: Source data frame to split.
    valid_boundary: Starting year for validation data
    test_boundary: Starting year for test data
  
  Returns:
    Tuple of transformed (train, valid, test) data.
code: def split_data(self, df, valid_boundary=2016, test_boundary=2018):
      """Splits data frame into training-validation-test data frames.
  
      This also calibrates scaling object, and transforms data for each split.
  
      Args:
        df: Source data frame to split.
        valid_boundary: Starting year for validation data
        test_boundary: Starting year for test data
  
      Returns:
        Tuple of transformed (train, valid, test) data.
      """
  
      print("Formatting train-valid-test splits.")
  
      index = df["year"]
      train = df.loc[index < valid_boundary]
      valid = df.loc[
          (index >= valid_boundary) & (index < test_boundary)
      ]
      test = df.loc[index >= test_boundary]
  
      self.set_scalers(train)
  
      return (
          self.transform_inputs(data) for data in [train, valid, test]
      )
  
file_path: qlib/examples/benchmarks/TFT/data_formatters/qlib_Alpha158.py
imports: import data_formatters.base
  import libs.utils
  import sklearn.preprocessing
label_desc: Use image node_id 2 for calling the Alpha158Formatter obj's underlying member method code with example usage: obj.split_data(df, valid_boundary, test_boundary) and returns: unknown