Skip to content
Snippets Groups Projects
Commit 72000b32 authored by Yassin's avatar Yassin
Browse files

Updating modularity

parent e9d10b96
No related branches found
No related tags found
No related merge requests found
import community.community_louvain as community import community.community_louvain as community
import heapq import heapq
import operator import operator
import math
import networkx as nx import networkx as nx
import numpy as np import numpy as np
from scipy.sparse import csr_matrix from scipy.sparse import csr_matrix
...@@ -29,7 +30,6 @@ def orderCommunities(c): ...@@ -29,7 +30,6 @@ def orderCommunities(c):
return partition return partition
def communityInfo(c, partition): def communityInfo(c, partition):
print('Number of partitions: ', len(partition)) print('Number of partitions: ', len(partition))
l = list() l = list()
...@@ -43,9 +43,6 @@ def communityInfo(c, partition): ...@@ -43,9 +43,6 @@ def communityInfo(c, partition):
print() print()
print() print()
def getSparseA(g): def getSparseA(g):
return nx.to_scipy_sparse_matrix(g) return nx.to_scipy_sparse_matrix(g)
# return nx.to_scipy_sparse_array(g) # return nx.to_scipy_sparse_array(g)
...@@ -163,18 +160,16 @@ def get_top_k_best_nodes(dict_centrality, k): ...@@ -163,18 +160,16 @@ def get_top_k_best_nodes(dict_centrality, k):
return top_k, first_nodes return top_k, first_nodes
def modularity_backbone(data, node_fraction): def modularity_backbone(data, node_fraction):
is_graph=False
if isinstance(data, pd.DataFrame): if isinstance(data, pd.DataFrame):
g = nx.from_pandas_edgelist(data, edge_attr='weight', create_using=nx.Graph()) g = nx.from_pandas_edgelist(data, edge_attr='weight', create_using=nx.Graph())
elif isinstance(data, nx.Graph): elif isinstance(data, nx.Graph):
g = data.copy() g = data.copy()
is_graph=True
else: else:
print("data should be a panads dataframe or nx graph") print("data should be a panads dataframe or nx graph")
return return
g1 = g.copy() 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) communities = community.best_partition(g1, random_state=123)
modularity_value = community.modularity(communities, g1) modularity_value = community.modularity(communities, g1)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment