File size: 536 Bytes
c679d56
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
"""
Module for measuring metrics.
"""

from sklearn.metrics import roc_auc_score, roc_curve
import numpy as np


def compute_auc(all_scores, all_labels):
    """Frame-level ROC-AUC."""
    return roc_auc_score(all_labels, all_scores)


def compute_eer(all_scores, all_labels):
    """Equal Error Rate: The error at point FPR == FNR"""
    fpr, tpr, _ = roc_curve(all_labels, all_scores)
    fnr = 1 - tpr
    
    # FPR and FNR's nearest index
    idx = np.nanargmin(np.abs(fpr - fnr))
    eer = (fpr[idx] + fnr[idx]) / 2
    return eer