code: def get_split(self, k=0, repeat=0):
      X = load_data(self._X_path)
      y = load_data(self._y_path)
      y = y["target"]
  
      sample_weight = None
      if self._sample_weight_path is not None:
          sample_weight = load_data(self._sample_weight_path)
          sample_weight = sample_weight["sample_weight"]
  
      sensitive_features = None
      if self._sensitive_features_path is not None:
          sensitive_features = load_data(self._sensitive_features_path)
  
      stratify = None
      if self.stratify:
          stratify = y
      if self.shuffle == False:
          stratify = None
  
      input_data = [X, y]
      if sample_weight is not None:
          input_data += [sample_weight]
      if sensitive_features is not None:
          input_data += [sensitive_features]
  
      output_data = train_test_split(
          *input_data,
          train_size=self.train_ratio,
          test_size=1.0 - self.train_ratio,
          shuffle=self.shuffle,
          stratify=stratify,
          random_state=self.random_seed + repeat,
      )
  
      X_train = output_data[0]
      X_validation = output_data[1]
      y_train = output_data[2]
      y_validation = output_data[3]
      if sample_weight is not None:
          sample_weight_train = output_data[4]
          sample_weight_validation = output_data[5]
          if sensitive_features is not None:
              sensitive_features_train = output_data[6]
              sensitive_features_validation = output_data[7]
      else:
          if sensitive_features is not None:
              sensitive_features_train = output_data[4]
              sensitive_features_validation = output_data[5]
  
      train_data = {"X": X_train, "y": y_train}
      validation_data = {"X": X_validation, "y": y_validation}
      if sample_weight is not None:
          train_data["sample_weight"] = sample_weight_train
          validation_data["sample_weight"] = sample_weight_validation
      if sensitive_features is not None:
          train_data["sensitive_features"] = sensitive_features_train
          validation_data[
              "sensitive_features"
          ] = sensitive_features_validation
  
      repeat_str = f"repeat_{repeat}_" if self.repeats > 1 else ""
  
      train_data_file = os.path.join(
          self._results_path, f"split_{repeat_str}train_indices.npy"
      )
      validation_data_file = os.path.join(
          self._results_path,
          f"split_{repeat_str}validation_indices.npy",
      )
  
      np.save(train_data_file, X_train.index)
      np.save(validation_data_file, X_validation.index)
  
      return train_data, validation_data
  
file_path: mljar-supervised/supervised/validation/validator_split.py
imports: import gc
  import logging
  import os
  import warnings
  import numpy
  import pandas
  import time
  from sklearn.model_selection import train_test_split
  from supervised.exceptions import AutoMLException
  from supervised.utils.config import mem
  from supervised.utils.utils import load_data
  from supervised.validation.validator_base import BaseValidator
label_desc: Use image node_id 2 for calling the SplitValidator obj's underlying member method code with example usage: obj.get_split(k, repeat) and returns: train_data,  validation_data