diff options
Diffstat (limited to 'Metrics/Metrics-Calculation/metrics_plot/model comparison/src/plot_ks_stats.py')
-rw-r--r-- | Metrics/Metrics-Calculation/metrics_plot/model comparison/src/plot_ks_stats.py | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/Metrics/Metrics-Calculation/metrics_plot/model comparison/src/plot_ks_stats.py b/Metrics/Metrics-Calculation/metrics_plot/model comparison/src/plot_ks_stats.py index 1ac7af75..d761ef82 100644 --- a/Metrics/Metrics-Calculation/metrics_plot/model comparison/src/plot_ks_stats.py +++ b/Metrics/Metrics-Calculation/metrics_plot/model comparison/src/plot_ks_stats.py | |||
@@ -12,26 +12,36 @@ import DistributionMetrics as metrics | |||
12 | 12 | ||
13 | def main(): | 13 | def main(): |
14 | # read models | 14 | # read models |
15 | human = GraphCollection('../input/humanOutput/', 500, 'Human') | 15 | human = GraphCollection('../input/yakindumm/human_output_100/', 500, 'Human') |
16 | human_na = GraphCollection('../input/yakindumm/human_output_100/na_rep/', 1, 'Human rep') | ||
17 | human_mpc = GraphCollection('../input/yakindumm/human_output_100/mpc_rep/', 1, 'Human rep') | ||
18 | human_od = GraphCollection('../input/yakindumm/human_output_100/od_rep/', 1, 'Human rep') | ||
19 | |||
20 | #viatra75 = GraphCollection('../input/viatra_75/', 500, 'Viatra (75 nodes)') | ||
16 | # viatra30 = GraphCollection('../input/viatraOutput30/', 500,'Viatra (30 nodes)') | 21 | # viatra30 = GraphCollection('../input/viatraOutput30/', 500,'Viatra (30 nodes)') |
17 | # viatra60 = GraphCollection('../input/viatraOutput60/', 500, 'Viatra (60 nodes)') | 22 | # viatra60 = GraphCollection('../input/viatraOutput60/', 500, 'Viatra (60 nodes)') |
18 | viatra100 = GraphCollection('../input/viatraOutput100/', 500, 'Viatra (100 nodes)') | 23 | # viatra100 = GraphCollection('../input/viatraOutput100/', 500, 'Viatra (100 nodes)') |
19 | viatra100R = GraphCollection('../input/realisticViatraOutput_container/', 500, 'Realistic Viatra containers (100 nodes)') | 24 | # viatra100R = GraphCollection('../input/realisticViatraOutput_newMetric/', 500, 'Realistic Viatra (100 nodes)') |
20 | viatra100C = GraphCollection('../input/viatraOutput100C/', 500, 'Realistic Viatra consistent (100 nodes)') | 25 | viatra100C = GraphCollection('../input/yakindumm/viatraOutput100C/', 500, 'Viatra consistent (100 nodes)') |
21 | viatra100EE = GraphCollection('../input/realisticViatra_excludeExit/', 500, 'Realistic Viatra no Exit (100 nodes)') | 26 | # viatra100EE = GraphCollection('../input/realisticViatra_excludeExit/', 500, 'Realistic Viatra no Exit (100 nodes)') |
27 | # viatra100EEF = GraphCollection('../input/realisticViatra_excludeExitFinal/', 500, 'Realistic Viatra no Exit Final (100 nodes)') | ||
28 | viatra100NT = GraphCollection('../input/yakindumm/realisticVIatraOutput_nodeTypeKS/', 500, 'Realistic Viatra with Node Type KS (100 nodes)') | ||
29 | |||
22 | # random = GraphCollection('../input/randomOutput/', 500, 'Random') | 30 | # random = GraphCollection('../input/randomOutput/', 500, 'Random') |
23 | # alloy = GraphCollection('../input/alloyOutput/', 500, 'Alloy (30 nodes)') | 31 | # alloy = GraphCollection('../input/alloy/', 500, 'Alloy (30 nodes)') |
24 | # realistic_viatra = GraphCollection('../input/viatra_output_consistent_100/', 50, 'Realistic Viatra With Some Constraints (100 nodes)') | 32 | # realistic_viatra = GraphCollection('../input/viatra_output_consistent_100/', 50, 'Realistic Viatra With Some Constraints (100 nodes)') |
25 | # human100 = GraphCollection('../input/human_output_100/', 304, 'Human') | 33 | # human100 = GraphCollection('../input/human_output_100/', 304, 'Human') |
26 | models_to_compare = [human, viatra100EE,viatra100C] | 34 | models_to_compare_na = [human, human_na, viatra100C,viatra100NT] |
35 | models_to_compare_mpc = [human, human_mpc ,viatra100C,viatra100NT] | ||
36 | models_to_compare_od = [human, human_od, viatra100C,viatra100NT] | ||
27 | 37 | ||
28 | # define output folder | 38 | # define output folder |
29 | outputFolder = '../output/' | 39 | outputFolder = '../output/Yakindumm/' |
30 | 40 | ||
31 | #calculate metrics | 41 | #calculate metrics |
32 | metricStat(models_to_compare, 'Node Activity', nodeActivity, 0, outputFolder) | 42 | metricStat(models_to_compare_na, 'Node Activity', nodeActivity, 0, outputFolder) |
33 | metricStat(models_to_compare, 'Out Degree', outDegree, 1, outputFolder) | 43 | metricStat(models_to_compare_od, 'Out Degree', outDegree, 1, outputFolder) |
34 | metricStat(models_to_compare, 'MPC', mpc, 2, outputFolder) | 44 | metricStat(models_to_compare_mpc, 'MPC', mpc, 2, outputFolder) |
35 | 45 | ||
36 | def calculateKSMatrix(dists): | 46 | def calculateKSMatrix(dists): |
37 | dist = [] | 47 | dist = [] |
@@ -43,7 +53,7 @@ def calculateKSMatrix(dists): | |||
43 | for i in range(len(dist)): | 53 | for i in range(len(dist)): |
44 | matrix[i,i] = 0 | 54 | matrix[i,i] = 0 |
45 | for j in range(i+1, len(dist)): | 55 | for j in range(i+1, len(dist)): |
46 | value, p = metrics.ks_distance(dist[i], dist[j]) | 56 | value, p= metrics.ks_distance(dist[i], dist[j]) |
47 | matrix[i, j] = value | 57 | matrix[i, j] = value |
48 | matrix[j, i] = value | 58 | matrix[j, i] = value |
49 | return matrix | 59 | return matrix |
@@ -55,7 +65,7 @@ def calculateMDS(dissimilarities): | |||
55 | return trans | 65 | return trans |
56 | 66 | ||
57 | def plot(graphTypes, coords, title='',index = 0, savePath = ''): | 67 | def plot(graphTypes, coords, title='',index = 0, savePath = ''): |
58 | color = ['blue', 'red', 'green', 'yellow'] | 68 | color = ['blue', 'red', 'yellow', 'green', 'k'] |
59 | plt.figure(index, figsize=(7, 4)) | 69 | plt.figure(index, figsize=(7, 4)) |
60 | plt.title(title) | 70 | plt.title(title) |
61 | index = 0 | 71 | index = 0 |