AlienChen's picture
Upload 139 files
65bd8af verified
raw
history blame contribute delete
778 Bytes
from scipy.stats import norm
import numpy as np
import os
def score(outputs):
weight = 0.03
binding_size_dist = np.load(os.path.join(os.path.dirname(__file__), "../params/binding_size_train_dist.npy"))
mean = np.mean(binding_size_dist)
std = np.std(binding_size_dist)
dist = norm(mean, std)
max_score = 0
scores = np.exp(outputs[0])[:, 1]
indices = np.argsort(-1*scores)
for j in range(1, len(indices)):
score = (1-weight)*np.mean(scores[indices[:j]]) + weight*(dist.pdf(j/len(indices)))
if score > max_score:
max_score = score
return max_score