code: def pc(self, r):
      confident = list()
      label_data = ReadFile(self.labeled_files[r]).read()
      bui = ComputeBui(label_data).execute()
  
      for triple in self.recommenders_predictions[r]:
          user, item, feedback = triple[0], triple[1], triple[2]
  
          nu = len(label_data["items_seen_by_user"].get(user, []))
          ni = len(label_data["users_viewed_item"].get(item, []))
  
          # compute bui and error
          try:
              den = np.fabs(bui[user][item] - feedback)
          except KeyError:
              den = np.fabs(label_data["mean_value"] - feedback)
  
          if den == 0:
              den = 0.001
  
          # compute confidence
          c = (nu * ni) * (1 / den)
  
          if c != 0:
              confident.append((user, item, feedback, c))
  
      confident = sorted(confident, key=lambda y: -y[3])
      complete_confident = confident[: self.m]
      confident = [(x[0], x[1], x[2]) for x in confident]
  
      return complete_confident, confident[: self.m]
  
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 5 for calling the ECoRec obj's underlying member method code with example usage: obj.pc(r) and returns: complete_confident,  confident