code: def _get_sample_split_data(
      blocked_data, y, random_state, sample_split
  ):
      if sample_split == "oob":
          (
              train_blocked_data,
              test_blocked_data,
              y_train,
              y_test,
              _,
              test_indices,
          ) = _blocked_train_test_split(blocked_data, y, random_state)
      elif sample_split == "inbag":
          (
              train_blocked_data,
              _,
              y_train,
              _,
              test_indices,
              _,
          ) = _blocked_train_test_split(blocked_data, y, random_state)
          test_blocked_data = train_blocked_data
          y_test = y_train
      else:
          train_blocked_data = test_blocked_data = blocked_data
          y_train = y_test = y
          test_indices = np.arange(y.shape[0])
      return (
          train_blocked_data,
          test_blocked_data,
          y_train,
          y_test,
          test_indices,
      )
  
imports: import numpy
  import pandas
  from scipy.spatial.distance import pdist
  from functools import partial
  from .ppms import PartialPredictionModelBase, GenericRegressorPPM, GenericClassifierPPM
  from .block_transformers import _blocked_train_test_split
  from .ranking_stability import tauAP_b, rbo
label_desc: Use image node_id 4 for calling a global function with example usage: _get_sample_split_data(blocked_data, y, random_state, sample_split) and returns: train_blocked_data,  test_blocked_data,  y_train,  y_test,  test_indices