code: def _split_interactions_cold_start_items(interactions):
      mask_size = interactions.shape[1]
      sample_cols = np.random.choice(
          a=mask_size, size=int(0.8 * mask_size), replace=False
      )
  
      train_mask = np.array(
          [
              True if col in sample_cols else False
              for col in interactions.col
          ]
      )
      test_mask = np.invert(train_mask)
  
      train_interactions = sp.coo_matrix(
          (
              interactions.data[train_mask],
              (
                  interactions.row[train_mask],
                  interactions.col[train_mask],
              ),
          ),
          shape=interactions.shape,
      )
      test_interactions = sp.coo_matrix(
          (
              interactions.data[test_mask],
              (
                  interactions.row[test_mask],
                  interactions.col[test_mask],
              ),
          ),
          shape=interactions.shape,
      )
  
      return train_interactions, test_interactions
  
imports: from io import BytesIO
  import os
  import requests
  from zipfile import ZipFile
  import numpy
  import scipy.sparse
  from sklearn.base import TransformerMixin
  from sklearn.feature_extraction.text import CountVectorizer
  from sklearn.pipeline import Pipeline, FeatureUnion
  from sklearn.preprocessing import LabelBinarizer
  from lightfm import datasets
label_desc: Use image node_id 4 for calling a global function with example usage: _split_interactions_cold_start_items(interactions) and returns: train_interactions,  test_interactions