code: def _split_any(
      data: InputData,
      split_ratio: float,
      shuffle: bool,
      stratify: bool,
      random_seed: int,
      **kwargs,
  ):
      """Split any data except timeseries into train and test parts
  
      :param data: InputData object to split
      :param split_ratio: share of train data between 0 and 1
      :param shuffle: is data needed to be shuffled or not
      :param stratify: make stratified sample or not
      :param random_seed: random_seed for shuffle
      """
  
      stratify_labels = data.target if stratify else None
  
      train_ids, test_ids = train_test_split(
          np.arange(0, len(data.target)),
          test_size=1.0 - split_ratio,
          shuffle=shuffle,
          random_state=random_seed,
          stratify=stratify_labels,
      )
  
      train_data = _split_input_data_by_indexes(data, index=train_ids)
      test_data = _split_input_data_by_indexes(data, index=test_ids)
  
      return train_data, test_data
  
file_path: FEDOT/fedot/core/data/data_split.py
imports: from copy import deepcopy
  from typing import Tuple, Optional, Union
  import numpy
  from sklearn.model_selection import train_test_split
  from fedot.core.data.data import InputData
  from fedot.core.data.multi_modal import MultiModalData
  from fedot.core.repository.dataset_types import DataTypesEnum
  from fedot.core.repository.tasks import TaskTypesEnum
label_desc: Use image node_id 3 for calling a global function with example usage: _split_any(data, split_ratio, shuffle, stratify, random_seed) and returns: train_data,  test_data