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
|