class_docstr: Compare class.
  
  >>> cm1 = ConfusionMatrix(matrix={0:{0:2,1:50,2:6}, 1:{0:5,1:50,2:3}, 2:{0:1,1:7,2:50}})
  >>> cm2 = ConfusionMatrix(matrix={0:{0:50,1:2,2:6}, 1:{0:50,1:5,2:3}, 2:{0:1,1:55,2:2}})
  >>> cp = Compare({"cm1": cm1, "cm2": cm2})
  >>> print(cp)
  Best : cm1
  <BLANKLINE>
  Rank  Name   Class-Score       Overall-Score
  1     cm1    0.50278           0.58095
  2     cm2    0.33611           0.52857
  <BLANKLINE>
  >>> cp.best
  pycm.ConfusionMatrix(classes: [0, 1, 2])
  >>> cp.sorted
  ['cm1', 'cm2']
  >>> cp.best_name
  'cm1'
class_docstr_tok: ["Compare","class",".",">",">",">","cm1","=","ConfusionMatrix","(","matrix=","{","0",":","{","0:2,1:50,2:6","}",",","1",":","{","0:5,1:50,2:3","}",",","2",":","{","0:1,1:7,2:50","}","}",")",">",">",">","cm2","=","ConfusionMatrix","(","matrix=","{","0",":","{","0:50,1:2,2:6","}",",","1",":","{","0:50,1:5,2:3","}",",","2",":","{","0:1,1:55,2:2","}","}",")",">",">",">","cp","=","Compare","(","{","``","cm1","''",":","cm1",",","``","cm2","''",":","cm2","}",")",">",">",">","print","(","cp",")","Best",":","cm1","<","BLANKLINE",">","Rank","Name","Class-Score","Overall-Score","1","cm1","0.50278","0.58095","2","cm2","0.33611","0.52857","<","BLANKLINE",">",">",">",">","cp.best","pycm.ConfusionMatrix","(","classes",":","[","0",",","1",",","2","]",")",">",">",">","cp.sorted","[","'cm1","'",",","'cm2","'","]",">",">",">","cp.best_name","'cm1","'"]
docstr: Save Compare report in .comp (flat file format).
  
  :param name: filename
  :type name: str
  :param address: flag for address return
  :type address: bool
  :return: saving address as dict {"Status": bool, "Message": str}
docstr_tok: ["Save","Compare","report","in",".comp","(","flat","file","format",")",".",":","param","name",":","filename",":","type","name",":","str",":","param","address",":","flag","for","address","return",":","type","address",":","bool",":","return",":","saving","address","as","dict","{","``","Status","''",":","bool",",","``","Message","''",":","str","}"]
code: def save_report(self, name, address=True):
      """
      Save Compare report in .comp (flat file format).
  
      :param name: filename
      :type name: str
      :param address: flag for address return
      :type address: bool
      :return: saving address as dict {"Status": bool, "Message": str}
      """
      try:
          message = None
          file = open(name + ".comp", "w")
          report = compare_report_print(
              self.sorted, self.scores, self.best_name
          )
          file.write(report)
          file.close()
          if address:
              message = os.path.join(
                  os.getcwd(), name + ".comp"
              )  # pragma: no cover
          return {"Status": True, "Message": message}
      except Exception as e:
          return {"Status": False, "Message": str(e)}
  
imports: from __future__ import division
  from .pycm_error import pycmCompareError
  from .pycm_output import *
  from .pycm_util import *
  from .pycm_param import *
  from .pycm_obj import ConfusionMatrix
  import os
  import numpy
  from warnings import warn
label_desc: Use image node_id 3 for calling the Compare obj's underlying member method code with example usage: obj.save_report(name, address) and returns: dict, dict