class_docstr: This is an abstract class aimed to ease the use of symmetric algorithms.
  
  A symmetric algorithm is an algorithm that can be based on users or on
  items indifferently, e.g. all the algorithms in this module.
  
  When the algo is user-based x denotes a user and y an item. Else, it's
  reversed.
class_docstr_tok: ["This","is","an","abstract","class","aimed","to","ease","the","use","of","symmetric","algorithms",".","A","symmetric","algorithm","is","an","algorithm","that","can","be","based","on","users","or","on","items","indifferently",",","e.g",".","all","the","algorithms","in","this","module",".","When","the","algo","is","user-based","x","denotes","a","user","and","y","an","item",".","Else",",","it's","reversed","."]
code: def __init__(self, sim_options={}, verbose=True, **kwargs):
      AlgoBase.__init__(self, sim_options=sim_options, **kwargs)
      self.verbose = verbose
  
imports: import heapq
  import numpy
  from .algo_base import AlgoBase
  from .predictions import PredictionImpossible
label_desc: Use image node_id 1 to create a new SymmetricAlgo object from inherited base classes: AlgoBase with example: obj = SymmetricAlgo(sim_options, verbose)