def analyse_community(graph, save_name): #partition = louvain.best_partition(graph) partition = infomap.infomap(graph) #dendro = louvain.generate_dendrogram(graph) dendro, handle = infomap.iteration_loop(graph) print 'Number of communities: ' + str(len(set(partition.values()))) logging.info('Number of communities: ' + str(len(set(partition.values())))) com_node_map = {} for community in set(partition.values()): com_node_map[community] = len([nodes for nodes in partition.keys() if partition[nodes] == community]) for k, v in com_node_map.items(): print 'Community ' + str(k+1) + ' has ' + str(v) + ' nodes' logging.info('Community ' + str(k+1) + ' has ' + str(v) + ' nodes') nx.set_node_attributes(graph, 'community', partition) link_ratio(graph, partition) no_pe_com_map_list = nodes_per_community(dendro) community_size_distribution(no_pe_com_map_list, save_name) drawNetwork(graph, save_name)
sys.path.append("louvain") import louvain sys.path.append("infomap") import infomap import matplotlib.pyplot as plt import matplotlib.colors as colors import logging global_frame_list = [] dispatch = { 'infomap_partition': infomap.infomap(graph) 'louvain_partition': louvain.best_partition(graph) 'infomap_dendro': infomap.iteration_loop(graph) 'louvain_dendro': louvain.generate_dendrogram(graph) } def run_mini_pipeline(): datadir = 'data' for root, dirs, filenames in os.walk(datadir): for file in filenames: print 'computing subject ' + str(filenames.index(file)) logging.info('computing subject ' + str(filenames.index(file))) file_handle = os.path.join(root, file) df = pd.read_csv(file_handle, sep='\t') np_ts_matrix=df.as_matrix() correlation_matrix = np.corrcoef(np_ts_matrix.T) threshold = 0.7