code: def __init__(self, params):
      BaseValidator.__init__(self, params)
  
      self.train_ratio = self.params.get("train_ratio", 0.8)
      self.shuffle = self.params.get("shuffle", True)
      self.stratify = self.params.get("stratify", False)
      self.random_seed = self.params.get("random_seed", 1234)
      self.repeats = self.params.get("repeats", 1)
  
      if not self.shuffle and self.repeats > 1:
          warnings.warn(
              "Disable repeats in validation because shuffle is disabled"
          )
          self.repeats = 1
  
      self._results_path = self.params.get("results_path")
      self._X_path = self.params.get("X_path")
      self._y_path = self.params.get("y_path")
      self._sample_weight_path = self.params.get("sample_weight_path")
      self._sensitive_features_path = self.params.get(
          "sensitive_features_path"
      )
  
      if self._X_path is None or self._y_path is None:
          raise AutoMLException(
              "No data path set in SplitValidator params"
          )
  
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 1 to create a new SplitValidator object from inherited base classes: BaseValidator with example: obj = SplitValidator(params)