class_docstr: Data processing class for GCN models which use implicit feedback.
  
  Initialize train and test set, create normalized adjacency matrix and sample data for training epochs.
docstr: Constructor
  
  Args:
      adj_dir (str): Directory to save / load adjacency matrices. If it is None, adjacency
          matrices will be created and will not be saved.
      train (pandas.DataFrame): Training data with at least columns (col_user, col_item, col_rating).
      test (pandas.DataFrame): Test data with at least columns (col_user, col_item, col_rating).
          test can be None, if so, we only process the training data.
      col_user (str): User column name.
      col_item (str): Item column name.
      col_rating (str): Rating column name.
      seed (int): Seed.
docstr_tok: ["Constructor","Args",":","adj_dir","(","str",")",":","Directory","to","save","\/","load","adjacency","matrices",".","If","it","is","None",",","adjacency","matrices","will","be","created","and","will","not","be","saved",".","train","(","pandas.DataFrame",")",":","Training","data","with","at","least","columns","(","col_user",",","col_item",",","col_rating",")",".","test","(","pandas.DataFrame",")",":","Test","data","with","at","least","columns","(","col_user",",","col_item",",","col_rating",")",".","test","can","be","None",",","if","so",",","we","only","process","the","training","data",".","col_user","(","str",")",":","User","column","name",".","col_item","(","str",")",":","Item","column","name",".","col_rating","(","str",")",":","Rating","column","name",".","seed","(","int",")",":","Seed","."]
code: def __init__(
      self,
      train,
      test=None,
      adj_dir=None,
      col_user=DEFAULT_USER_COL,
      col_item=DEFAULT_ITEM_COL,
      col_rating=DEFAULT_RATING_COL,
      col_prediction=DEFAULT_PREDICTION_COL,
      seed=None,
  ):
      """Constructor
  
      Args:
          adj_dir (str): Directory to save / load adjacency matrices. If it is None, adjacency
              matrices will be created and will not be saved.
          train (pandas.DataFrame): Training data with at least columns (col_user, col_item, col_rating).
          test (pandas.DataFrame): Test data with at least columns (col_user, col_item, col_rating).
              test can be None, if so, we only process the training data.
          col_user (str): User column name.
          col_item (str): Item column name.
          col_rating (str): Rating column name.
          seed (int): Seed.
  
      """
      self.user_idx = None
      self.item_idx = None
      self.adj_dir = adj_dir
      self.col_user = col_user
      self.col_item = col_item
      self.col_rating = col_rating
      self.col_prediction = col_prediction
      self.train, self.test = self._data_processing(train, test)
      self._init_train_data()
  
      random.seed(seed)
  
file_path: recommenders/recommenders/models/deeprec/DataModel/ImplicitCF.py
imports: import random
  import numpy
  import pandas
  import scipy.sparse
  from recommenders.utils.constants import DEFAULT_ITEM_COL, DEFAULT_USER_COL, DEFAULT_RATING_COL, DEFAULT_PREDICTION_COL
label_desc: Use image node_id 1 to create a new ImplicitCF object from inherited base classes: object with example: obj = ImplicitCF(train, test, adj_dir, col_user, col_item, col_rating, col_prediction, seed)