if 'cosine' in data['tools']: initial_head = initial_head + ", th_cosine, size_result_cosine, f1_score_cosine, recall_cosine, runtime_cosine" if 'giga' in data['tools']: initial_head = initial_head + ", th_giga, size_result_giga, f1_score_giga, recall_giga, runtime_giga" if 'knode' in data['tools']: initial_head = initial_head + ", th_knode, size_result_knode, f1_score_knode, recall_knode, runtime_knode" if 'aminsga2' in data['tools']: initial_head = initial_head + ", th_aminsga2, size_result_aminsga2, f1_score_aminsga2, recall_aminsga2, runtime_aminsga2" initial_head = initial_head + ", th_baseline, f1_score_baseline, recall_baseline, runtime_baseline \n" outfile.write(initial_head) for ctr in range(arg.number_of_runs): if arg.graph_generation == "guyondata": G = Datasets.get_guyon_graph(ctr + 1) else: G = Datasets.get_scale_free_graph_edge(arg.network_size, initial_module, nb_modules, arg.module_size, arg.prob_p, arg.prob_q, arg.removed_edges, rng) rate_conection = len(G.edges) / len(G.nodes) average_shortest_paths = [] for _, cluster in Datasets.get_groups(G).items(): nodes = list(cluster) average_shortest_paths.append( Scores.average_shortest_path(G, nodes)) result = str(ctr) + "," + str(arg.network_size) + "," + str(