docstr: Class to be base for evaluation strategies
  
  :param sep: Delimiter for input files
  :type sep: str, default '       '
  
  :param metrics: List of evaluation metrics
  :type metrics: list, default None
  
  :param all_but_one_eval: If True, considers only one pair (u, i) from the test set to evaluate the ranking
  :type all_but_one_eval: bool, default False
  
  :param verbose: Print the evaluation results
  :type verbose: bool, default True
  
  :param as_table: Print the evaluation results as table (only work with verbose=True)
  :type as_table: bool, default False
  
  :param table_sep: Delimiter for print results (only work with verbose=True and as_table=True)
  :type table_sep: str, default ' '
code: def __init__(
      self,
      sep="\t",
      metrics=None,
      all_but_one_eval=False,
      verbose=True,
      as_table=False,
      table_sep="\t",
      save_eval_file=None,
  ):
      """
      Class to be base for evaluation strategies
  
      :param sep: Delimiter for input files
      :type sep: str, default '\t'
  
      :param metrics: List of evaluation metrics
      :type metrics: list, default None
  
      :param all_but_one_eval: If True, considers only one pair (u, i) from the test set to evaluate the ranking
      :type all_but_one_eval: bool, default False
  
      :param verbose: Print the evaluation results
      :type verbose: bool, default True
  
      :param as_table: Print the evaluation results as table (only work with verbose=True)
      :type as_table: bool, default False
  
      :param table_sep: Delimiter for print results (only work with verbose=True and as_table=True)
      :type table_sep: str, default '\t'
  
      """
      self.sep = sep
      self.all_but_one_eval = all_but_one_eval
      self.metrics = metrics
      self.verbose = verbose
      self.as_table = as_table
      self.table_sep = table_sep
  
file_path: CaseRecommender/caserec/evaluation/base_evaluation.py
imports: from collections import defaultdict
  from caserec.utils.process_data import ReadFile
label_desc: Use image node_id 1 to create a new BaseEvaluation object from inherited base classes: object with example: obj = BaseEvaluation(sep, metrics, all_but_one_eval, verbose, as_table, table_sep, save_eval_file)