code: def reduce_list(x, model):
      split = np.cumsum([len(xi) for xi in x])[:-1]
      x_r = np.vsplit(model.fit_transform(np.vstack(x)), split)
      if len(x) > 1:
          return [xi for xi in x_r]
      else:
          return [x_r[0]]
  
file_path: hypertools/hypertools/tools/reduce.py
imports: import warnings
  from sklearn.decomposition import PCA, FastICA, IncrementalPCA, KernelPCA, FactorAnalysis, TruncatedSVD, SparsePCA, MiniBatchSparsePCA, DictionaryLearning, MiniBatchDictionaryLearning
  from sklearn.manifold import TSNE, MDS, SpectralEmbedding, LocallyLinearEmbedding, Isomap
  from umap import UMAP
  from .._shared.helpers import *
  from .normalize import normalize
  from .align import align
  from .format_data import format_data
label_desc: Use image node_id 2 for calling a global function with example usage: reduce_list(x, model) and returns: unknown, list