class_docstr: A named tuple for storing the results of a prediction.
  
  It's wrapped in a class, but only for documentation and printing purposes.
  
  Args:
      uid: The (raw) user id. See :ref:`this note<raw_inner_note>`.
      iid: The (raw) item id. See :ref:`this note<raw_inner_note>`.
      r_ui(float): The true rating :math:`r_{ui}`.
      est(float): The estimated rating :math:`\hat{r}_{ui}`.
      details (dict): Stores additional details about the prediction that
          might be useful for later analysis.
class_docstr_tok: ["A","named","tuple","for","storing","the","results","of","a","prediction",".","It","'s","wrapped","in","a","class",",","but","only","for","documentation","and","printing","purposes",".","Args",":","uid",":","The","(","raw",")","user","id",".","See",":","ref",":","`","this","note","<","raw_inner_note",">","`",".","iid",":","The","(","raw",")","item","id",".","See",":","ref",":","`","this","note","<","raw_inner_note",">","`",".","r_ui","(","float",")",":","The","true","rating",":","math",":","`","r_","{","ui","}","`",".","est","(","float",")",":","The","estimated","rating",":","math",":","`","\\hat","{","r","}","_","{","ui","}","`",".","details","(","dict",")",":","Stores","additional","details","about","the","prediction","that","might","be","useful","for","later","analysis","."]
code: def __str__(self):
      s = f"user: {self.uid:<10} "
      s += f"item: {self.iid:<10} "
      if self.r_ui is not None:
          s += f"r_ui = {self.r_ui:1.2f}   "
      else:
          s += "r_ui = None   "
      s += f"est = {self.est:1.2f}   "
      s += str(self.details)
  
      return s
  
imports: from collections import namedtuple
label_desc: Use image node_id 1 for calling the Prediction obj's underlying member method code with example usage: obj.__str__() and returns: s