"""
Copyright 2018 Johns Hopkins University (Author: Jesus Villalba)
Apache 2.0 (http://www.apache.org/licenses/LICENSE-2.0)
"""
import numpy as np
from ..utils.math import neglogsigmoid
from .utils import opt_loglr
[docs]def compute_cllr(tar, non):
"""CLLR: Measure of goodness of log-likelihood-ratio detection output. This measure ps both:
- The quality of the score (over the whole DET curve), and
- The quality of the calibration
Args:
tar: Scores of target trials.
non: Scores of non-target trials.
Returns:
CLLR
"""
c1 = np.mean(neglogsigmoid(tar)) / np.log(2)
c2 = np.mean(neglogsigmoid(non)) / np.log(2)
return (c1 + c2) / 2
[docs]def compute_min_cllr(tar, non):
tar_llr, non_llr = opt_loglr(tar, non, "raw")
return compute_cllr(tar_llr, non_llr)