EER值求取
EER:等错误概率是说话人识别中常用的评价标准,是错误接受率(FA)和错误拒绝率(FR)的一个相对平衡点的阈值点,这个阈值点可以作为实际使用阶段的固定阈值。
def calculate_eer(y, y_score):
# y denotes groundtruth scores,(真实标签)
# y_score denotes the prediction scores.(经过softmax得到的标签)
from scipy.optimize import brentq
from sklearn.metrics import roc_curve
from scipy.interpolate import interp1d
fpr, tpr, thresholds = roc_curve(y, y_score, pos_label=1)
eer = brentq(lambda x : 1. - x - interp1d(fpr, tpr)(x), 0., 1.)
thresh = interp1d(fpr, thresholds)(eer)
return eer, thresh
ROC概念
ROC(Receiver Operating Characteristic)全称受试者工作特征曲线。纵轴是真正例率(True Postitive Rate,TPR),横轴是假正例率(False Positive Rate,FPR)
TPR = TP/(TP + FN)
FPR = FP/(FP + TN)
代码示例
import numpy as np
import matplotlib.