From 72000b329c54fbed64bd4c5b18ffa00738ec99be Mon Sep 17 00:00:00 2001 From: Yassin <aliyassin4@hotmail.com> Date: Tue, 9 May 2023 22:53:59 +0200 Subject: [PATCH] Updating modularity --- netbone/structural/modulairy_backbone.py | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/netbone/structural/modulairy_backbone.py b/netbone/structural/modulairy_backbone.py index c0a7228..4c2ccbd 100644 --- a/netbone/structural/modulairy_backbone.py +++ b/netbone/structural/modulairy_backbone.py @@ -1,6 +1,7 @@ import community.community_louvain as community import heapq import operator +import math import networkx as nx import numpy as np from scipy.sparse import csr_matrix @@ -29,7 +30,6 @@ def orderCommunities(c): return partition - def communityInfo(c, partition): print('Number of partitions: ', len(partition)) l = list() @@ -43,9 +43,6 @@ def communityInfo(c, partition): print() print() - - - def getSparseA(g): return nx.to_scipy_sparse_matrix(g) # return nx.to_scipy_sparse_array(g) @@ -163,18 +160,16 @@ def get_top_k_best_nodes(dict_centrality, k): return top_k, first_nodes def modularity_backbone(data, node_fraction): - is_graph=False if isinstance(data, pd.DataFrame): g = nx.from_pandas_edgelist(data, edge_attr='weight', create_using=nx.Graph()) elif isinstance(data, nx.Graph): g = data.copy() - is_graph=True else: print("data should be a panads dataframe or nx graph") return g1 = g.copy() - k = len(g1)-round(len(g1)*node_fraction) + k = len(g1)-math.ceil(len(g1)*node_fraction) communities = community.best_partition(g1, random_state=123) modularity_value = community.modularity(communities, g1) -- GitLab