Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
"""
Assign basic parameters to Comapre.
:param compare: Compare
:type compare : pycm.Compare object
:param cm_dict: cm's dictionary
:type cm_dict : dict
:param digit: precision digit (default value : 5)
:type digit : int
:param weight: class weights
:type weight: dict
:return: None
"""
if not isinstance(cm_dict, dict):
raise pycmCompareError(COMPARE_FORMAT_ERROR)
if not all(isinstance(item, ConfusionMatrix)
for item in cm_dict.values()):
raise pycmCompareError(COMPARE_TYPE_ERROR)
if not list_check_equal([getattr(item, "POP")
for item in cm_dict.values()]):
raise pycmCompareError(COMPARE_DOMAIN_ERROR)
if len(cm_dict) < 2:
raise pycmCompareError(COMPARE_NUMBER_ERROR)
compare.classes = list(cm_dict.values())[0].classes
compare.weight = {k: 1 for k in compare.classes}
compare.digit = digit
compare.best = None
compare.best_name = None
compare.sorted = None
compare.scores = {k: {"overall": 0, "class": 0}.copy()
for k in cm_dict.keys()}
if weight is not None:
def __eq__(self, other):
"""
Confusion matrix equal method.
:param other: other ConfusionMatrix
:type other: ConfusionMatrix
:return: result as bool
"""
if isinstance(other, ConfusionMatrix):
return self.table == other.table
return False
def __eq__(self, other):
"""
ConfusionMatrix equal method
:param other: other ConfusionMatrix
:type other: ConfusionMatrix
:return: result as bool
"""
if isinstance(other, ConfusionMatrix):
return self.table == other.table
return False