docstr: Method to predict a single score for a pair (user, item)
  
  :param u: User ID
  :type u: int
  
  :param i: Item ID
  :type i: int
  
  :param cond: Use max and min values of train set to limit score
  :type cond: bool, default True
  
  :return: Score generate for pair (user, item)
  :rtype: float
code: def predict_score(self, u, i, cond=True):
      """
      Method to predict a single score for a pair (user, item)
  
      :param u: User ID
      :type u: int
  
      :param i: Item ID
      :type i: int
  
      :param cond: Use max and min values of train set to limit score
      :type cond: bool, default True
  
      :return: Score generate for pair (user, item)
      :rtype: float
  
      """
  
      rui = self.train_set["mean_value"] + self.prediction_matrix[u][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/svd.py
imports: import numpy
  from scipy.sparse.linalg import svds
  from caserec.recommenders.rating_prediction.base_rating_prediction import BaseRatingPrediction
  from caserec.utils.extra_functions import timed
label_desc: Use image node_id 4 for calling the SVD obj's underlying member method code with example usage: obj.predict_score(u, i, cond) and returns: rui