murinj
commited on
Commit
·
649b3ae
1
Parent(s):
ace4a3e
init6
Browse files
hter.py
CHANGED
@@ -72,10 +72,10 @@ class Hter(evaluate.Metric):
|
|
72 |
)
|
73 |
|
74 |
def _compute(self, predictions, references):
|
75 |
-
TP = 0 #
|
76 |
-
TN = 0 #
|
77 |
-
FP = 0 #
|
78 |
-
FN = 0 #
|
79 |
|
80 |
for pred, ref in zip(predictions, references):
|
81 |
if pred == 1 and ref == 1:
|
@@ -87,9 +87,12 @@ class Hter(evaluate.Metric):
|
|
87 |
elif pred == 0 and ref == 1:
|
88 |
FN += 1
|
89 |
|
90 |
-
#
|
91 |
-
FAR =
|
92 |
-
FRR =
|
|
|
|
|
|
|
93 |
|
94 |
# 计算 HTER
|
95 |
HTER = (FAR + FRR) / 2.0
|
|
|
72 |
)
|
73 |
|
74 |
def _compute(self, predictions, references):
|
75 |
+
TP = 0 # 预测为欺骗(1),真实为欺骗(1)→ 正确拒绝攻击
|
76 |
+
TN = 0 # 预测为真实(0),真实为真实(0)→ 正确接受真实
|
77 |
+
FP = 0 # 预测为欺骗(1),真实为真实(0)→ 错误拒绝真实(导致FRR)
|
78 |
+
FN = 0 # 预测为真实(0),真实为欺骗(1)→ 错误接受欺骗(导致FAR)
|
79 |
|
80 |
for pred, ref in zip(predictions, references):
|
81 |
if pred == 1 and ref == 1:
|
|
|
87 |
elif pred == 0 and ref == 1:
|
88 |
FN += 1
|
89 |
|
90 |
+
# FAR = 欺骗样本中被错误接受的比例 = FN / (TP + FN)
|
91 |
+
FAR = FN / (TP + FN) if (TP + FN) > 0 else 0
|
92 |
+
# FRR = 真实样本中被错误拒绝的比例 = FP / (TN + FP)
|
93 |
+
FRR = FP / (TN + FP) if (TN + FP) > 0 else 0
|
94 |
+
|
95 |
+
HTER = (FAR + FRR) / 2.0
|
96 |
|
97 |
# 计算 HTER
|
98 |
HTER = (FAR + FRR) / 2.0
|