code: def shuffle_data(X, y, seed=None):
      """Random shuffle of the samples in X and y"""
      if seed:
          np.random.seed(seed)
      idx = np.arange(X.shape[0])
      np.random.shuffle(idx)
      return X[idx], y[idx]
  
file_path: ML-From-Scratch/mlfromscratch/utils/data_manipulation.py
imports: from __future__ import division
  from itertools import combinations_with_replacement
  import numpy
  import math
  import sys
label_desc: Use image node_id 1 for calling a global function with example usage: shuffle_data(X, y, seed) and returns: X,  y