/
visualization.py
69 lines (51 loc) · 2.18 KB
/
visualization.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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
import pickle
import numpy as np
# grid_results: [gold_agreement, expected_agreement, sampled_agreement, no_possible_coaltions, entropy]
E = 12
grid_results = None
files = ["4-5-10-A.pickle", "4-10-10-A.pickle",
"4-20-10-A.pickle"]
file = files[0]
with open('model_runs/debugging/' + file, 'rb') as handle:
grid_results = pickle.load(handle)
avg_gold_regrets = [None] * E
avg_expected_regrets = [None] * E
avg_sampled_regrets = [None] * E
avg_possible_coalitions = [None] * E
avg_entropies = [None] * E
normalized_expected_regrets = [None] * E
normalized_sampled_regrets = [None] * E
expected_regrets_std = [None] * E
sampled_regrets_std = [None] * E
labels = [n for n in range(E)]
no_results = len(grid_results)
print(no_results)
for e in range(E):
gold_regrets = [None] * int(no_results / E)
expected_regrets = [None] * int(no_results / E)
sampled_regrets = [None] * int(no_results / E)
no_possible_coalitions = [None] * int(no_results / E)
entropies = [None] * int(no_results / E)
for i, index in enumerate(range(e, len(grid_results), E)):
gold_regrets[i], expected_regrets[i], sampled_regrets[i], no_possible_coalitions[i], entropies[i] = \
grid_results[index]
avg_gold_regrets[e] = np.sum(gold_regrets) / len(gold_regrets)
# TODO: Check if we need this line
# expected_regrets = [value if value > 0 else 0 for value in expected_regrets]
avg_expected_regrets[e] = np.sum(expected_regrets) / len(expected_regrets)
avg_sampled_regrets[e] = np.sum(sampled_regrets) / len(sampled_regrets)
avg_possible_coalitions[e] = np.sum(no_possible_coalitions) / len(no_possible_coalitions)
avg_entropies[e] = np.sum(entropies) / len(entropies)
if avg_gold_regrets[e] == 0:
gold_regret = 0.1
else:
gold_regret = avg_gold_regrets[e]
normalized_expected_regrets[e] = avg_expected_regrets[e] / gold_regret
normalized_sampled_regrets[e] = avg_sampled_regrets[e] / gold_regret
expected_regrets_std[e] = np.std(expected_regrets)
sampled_regrets_std[e] = np.std(sampled_regrets)
print(avg_gold_regrets)
print(avg_expected_regrets)
print(avg_sampled_regrets)
print(avg_possible_coalitions)
print(avg_entropies)