Spaces:
Running
on
Zero
Running
on
Zero
import numpy as np | |
from scipy.integrate import simps | |
class FR_AUC: | |
def __init__(self, data_definition): | |
self.data_definition = data_definition | |
if data_definition == '300W': | |
self.thresh = 0.05 | |
else: | |
self.thresh = 0.1 | |
def __repr__(self): | |
return "FR_AUC()" | |
def test(self, nmes, thres=None, step=0.0001): | |
if thres is None: | |
thres = self.thresh | |
num_data = len(nmes) | |
xs = np.arange(0, thres + step, step) | |
ys = np.array([np.count_nonzero(nmes <= x) for x in xs]) / float(num_data) | |
fr = 1.0 - ys[-1] | |
auc = simps(ys, x=xs) / thres | |
return [round(fr, 4), round(auc, 6)] | |