Spaces:
Runtime error
Runtime error
def interm_scores(grdt_sr:list, pred_sr:list): | |
## this function calculates | |
## • Quantity score | |
## • Quantity rate score | |
## • Timing score | |
#print(grdt_sr, pred_sr) | |
lgrdt = len(grdt_sr) | |
assert lgrdt == len(pred_sr) | |
cnt_01match = 0 | |
grdt_value = 0 | |
pred_value = 0 | |
cnt_grdt1 = 0 | |
cnt_pred1 = 0 | |
for i in range(lgrdt): | |
if (grdt_sr[i]==0 and pred_sr[i]==0) or (grdt_sr[i]> 0 and pred_sr[i]>0): | |
cnt_01match += 1 | |
cnt_grdt1 += 1 if grdt_sr[i]>0 else 0 | |
cnt_pred1 += 1 if pred_sr[i]>0 else 0 | |
grdt_value += grdt_sr[i] | |
pred_value += pred_sr[i] | |
#print("Calculating:\nQuantity score, Quantity rate score, Timing score") | |
if cnt_grdt1 == 0 and cnt_pred1 == 0: # this indicate grdt_value=pred_value=0 | |
return 1.0, 1.0, 1.0*cnt_01match / lgrdt | |
else: | |
return 1.0*min(cnt_grdt1, cnt_pred1)/max(cnt_grdt1, cnt_pred1),\ | |
1.0*min(grdt_value, pred_value)/max(grdt_value, pred_value),\ | |
1.0*cnt_01match / lgrdt | |