-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcalculates_results_stats.py
46 lines (35 loc) · 1.8 KB
/
calculates_results_stats.py
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
41
42
43
44
45
46
def calculates_results_stats(results_dic):
results_stats_dic = dict()
results_stats_dic['n_dogs_img'] = 0
results_stats_dic['n_match'] = 0
results_stats_dic['n_correct_dogs'] = 0
results_stats_dic['n_correct_notdogs'] = 0
results_stats_dic['n_correct_breed'] = 0
for key in results_dic:
if results_dic[key][2] == 1:
results_stats_dic['n_match'] += 1
if sum(results_dic[key][2:]) == 3:
results_stats_dic["n_correct_breed"] += 1
if results_dic[key][3] == 1:
results_stats_dic['n_dogs_img'] += 1
if results_dic[key][4] == 1:
results_stats_dic['n_correct_dogs'] += 1
else:
if results_dic[key][4] == 0:
results_stats_dic["n_correct_notdogs"] += 1
results_stats_dic['n_images'] = len(results_dic)
results_stats_dic['n_notdogs_img'] = (results_stats_dic['n_images'] -
results_stats_dic['n_dogs_img'])
# Calculates % correct for matches
results_stats_dic['pct_match'] = (results_stats_dic['n_match'] / results_stats_dic['n_images']) * 100.0
# Calculates % correct dogs
results_stats_dic['pct_correct_dogs'] = (results_stats_dic['n_correct_dogs'] / results_stats_dic['n_dogs_img']) * 100.0
# Calculates % correct breed of dog
results_stats_dic['pct_correct_breed']=(results_stats_dic['n_correct_breed'] / results_stats_dic['n_dogs_img'])*100.0
# Calculates % correct not-a-dog images
if results_stats_dic['n_notdogs_img'] > 0:
results_stats_dic['pct_correct_notdogs'] = (results_stats_dic['n_correct_notdogs'] /
results_stats_dic['n_notdogs_img']) * 100.0
else:
results_stats_dic['pct_correct_notdogs'] = 0.0
return results_stats_dic