docstr: Create a pool U' for unlabeled set U (Create unlabeled_1.dat, unlabeled_2.dat ... unlabeled_N.dat)
docstr_tok: ["Create","a","pool","U","'","for","unlabeled","set","U","(","Create","unlabeled_1.dat",",","unlabeled_2.dat","...","unlabeled_N.dat",")"]
code: def create_unlabeled_set(self):
      """
      Create a pool U' for unlabeled set U (Create unlabeled_1.dat, unlabeled_2.dat ... unlabeled_N.dat)
      """
      unlabeled_data = list()
  
      for user in self.train_set["users"]:
          sample = list(
              set(self.train_set["items"])
              - set(self.train_set["feedback"].get(user, []))
          )
          sub_sample = list()
          for item in sample:
              sub_sample.append((user, item))
          np.random.shuffle(sub_sample)
  
          unlabeled_data += sub_sample[: self.number_sample]
  
      # Calculate the number of M confident examples based on unlabeled sample
      if self.m is None:
          self.m = int(len(unlabeled_data) * 0.1)
  
      unlabeled_data = sorted(
          unlabeled_data, key=lambda x: (x[0], x[1])
      )
      self.unlabeled_set = unlabeled_data.copy()
  
imports: from multiprocessing.pool import Pool
  from random import shuffle
  import numpy
  import os
  from caserec.recommenders.rating_prediction.itemknn import ItemKNN
  from caserec.recommenders.rating_prediction.matrixfactorization import MatrixFactorization
  from caserec.recommenders.rating_prediction.svdplusplus import SVDPlusPlus
  from caserec.recommenders.rating_prediction.userknn import UserKNN
  from caserec.utils.process_data import ReadFile
  from caserec.utils.extra_functions import ComputeBui
label_desc: Use image node_id 2 for calling the ECoRec obj's underlying member method code with example usage: obj.create_unlabeled_set() without return types