docstr: :param u: User ID (from self.items)
  :type u: int
  
  :param i: Item ID (from self.items)
  :type i: int
  
  :param pu: User updated vector (pu * y)
  :type pu: list or np.array
  
  :param cond: Use max and min values of train set to limit score
  :type cond: bool, default True
  
  :return: prediction for user u and item i
  :rtype: float
docstr_tok: [":","param","u",":","User","ID","(","from","self.items",")",":","type","u",":","int",":","param","i",":","Item","ID","(","from","self.items",")",":","type","i",":","int",":","param","pu",":","User","updated","vector","(","pu","*","y",")",":","type","pu",":","list","or","np.array",":","param","cond",":","Use","max","and","min","values","of","train","set","to","limit","score",":","type","cond",":","bool",",","default","True",":","return",":","prediction","for","user","u","and","item","i",":","rtype",":","float"]
code: def _predict_svd_plus_plus_score(self, u, i, pu, cond=True):
      """
  
      :param u: User ID (from self.items)
      :type u: int
  
      :param i: Item ID (from self.items)
      :type i: int
  
      :param pu: User updated vector (pu * y)
      :type pu: list or np.array
  
      :param cond: Use max and min values of train set to limit score
      :type cond: bool, default True
  
      :return: prediction for user u and item i
      :rtype: float
  
      """
      rui = (
          self.train_set["mean_value"]
          + self.bu[u]
          + self.bi[i]
          + np.dot(pu, self.q[i])
      )
  
      if cond:
          if rui > self.train_set["max_value"]:
              rui = self.train_set["max_value"]
          elif rui < self.train_set["min_value"]:
              rui = self.train_set["min_value"]
      return rui
  
file_path: CaseRecommender/caserec/recommenders/rating_prediction/svdplusplus.py
imports: import numpy
  from caserec.recommenders.rating_prediction.matrixfactorization import MatrixFactorization
label_desc: Use image node_id 5 for calling the SVDPlusPlus obj's underlying member method code with example usage: obj._predict_svd_plus_plus_score(u, i, pu, cond) and returns: rui