Skip to content

Commit

Permalink
edit : minor pep8 edits.
Browse files Browse the repository at this point in the history
  • Loading branch information
sadrasabouri committed Dec 29, 2022
1 parent 6f3c8d0 commit 2c938bb
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 7 deletions.
21 changes: 15 additions & 6 deletions pycm/pycm_distance.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@
from enum import Enum
import math


class DistanceType(Enum):
"""
Distance metric type class.
>>> pycm.DistanceType.AMPLE
"""

Expand All @@ -17,6 +18,7 @@ class DistanceType(Enum):
BaroniUrbaniBuserI = "BaroniUrbaniBuserI"
BaroniUrbaniBuserII = "BaroniUrbaniBuserII"


def AMPLE_calc(TP, FP, FN, TN):
"""
Calculate AMPLE.
Expand All @@ -32,12 +34,13 @@ def AMPLE_calc(TP, FP, FN, TN):
:return: AMPLE as float
"""
try:
part1 = TP/(TP + FP)
part2 = FN/(FN + TN)
part1 = TP / (TP + FP)
part2 = FN / (FN + TN)
return abs(part1 - part2)
except Exception:
return "None"


def Anderberg_calc(TP, FP, FN, TN):
"""
Calculate Anderberg's D.
Expand Down Expand Up @@ -82,6 +85,7 @@ def AndresMarzoDelta_calc(TP, FP, FN, TN):
except Exception:
return "None"


def BaroniUrbaniBuserI_calc(TP, FP, FN, TN):
"""
Calculate Baroni-Urbani & Buser I.
Expand All @@ -103,6 +107,7 @@ def BaroniUrbaniBuserI_calc(TP, FP, FN, TN):
except Exception:
return "None"


def BaroniUrbaniBuserII_calc(TP, FP, FN, TN):
"""
Calculate Baroni-Urbani & Buser II.
Expand All @@ -125,6 +130,10 @@ def BaroniUrbaniBuserII_calc(TP, FP, FN, TN):
return "None"



DISTANCE_MAPPER = {DistanceType.AMPLE: AMPLE_calc, DistanceType.Anderberg: Anderberg_calc, DistanceType.AndresMarzoDelta: AndresMarzoDelta_calc, DistanceType.BaroniUrbaniBuserI:
BaroniUrbaniBuserI_calc, DistanceType.BaroniUrbaniBuserII: BaroniUrbaniBuserII_calc}
DISTANCE_MAPPER = {
DistanceType.AMPLE: AMPLE_calc,
DistanceType.Anderberg: Anderberg_calc,
DistanceType.AndresMarzoDelta: AndresMarzoDelta_calc,
DistanceType.BaroniUrbaniBuserI: BaroniUrbaniBuserI_calc,
DistanceType.BaroniUrbaniBuserII: BaroniUrbaniBuserII_calc,
}
3 changes: 2 additions & 1 deletion pycm/pycm_obj.py
Original file line number Diff line number Diff line change
Expand Up @@ -604,7 +604,8 @@ def distance(self, metric):
if not isinstance(metric, DistanceType):
raise pycmMatrixError(DISTANCE_METRIC_TYPE_ERROR)
for i in self.classes:
distance_dict[i] = DISTANCE_MAPPER[metric](TP = self.TP[i], FP = self.FP[i], FN = self.FN[i], TN = self.TN[i])
distance_dict[i] = DISTANCE_MAPPER[metric](
TP=self.TP[i], FP=self.FP[i], FN=self.FN[i], TN=self.TN[i])
return distance_dict

def CI(
Expand Down

0 comments on commit 2c938bb

Please sign in to comment.