File size: 778 Bytes
65bd8af
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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