def test_egonet_splitter(): """ Test the Ego Net splitter procedure. """ graph = nx.newman_watts_strogatz_graph(100, 5, 0.3) model = EgoNetSplitter() model.fit(graph) memberships = model.get_memberships() indices = [k for k, v in memberships.items()].sort() nodes = [node for node in graph.nodes()].sort() assert graph.number_of_nodes() == len(memberships) assert indices == nodes assert type(memberships) == dict graph = nx.newman_watts_strogatz_graph(150, 5, 0.3) model = EgoNetSplitter() model.fit(graph) memberships = model.get_memberships() indices = [k for k, v in memberships.items()].sort() nodes = [node for node in graph.nodes()].sort() assert graph.number_of_nodes() == len(memberships) assert indices == nodes assert type(memberships) == dict
# DeepWalk example #------------------- g = nx.newman_watts_strogatz_graph(100, 20, 0.05) model = DeepWalk() model.fit(g) #------------------- # Splitter example #------------------- g = nx.newman_watts_strogatz_graph(100, 20, 0.05) model = EgoNetSplitter(1.0) model.fit(g) #---------------- # Edmot example #---------------- g = nx.newman_watts_strogatz_graph(100, 10, 0.9) model = EdMot(3, 0.5) model.fit(g) #---------------- # DANMF example
"""Example runs with Karate Club.""" import networkx as nx from karateclub.community_detection.overlapping import EgoNetSplitter, NNSED, DANMF, MNMF from karateclub.community_detection.non_overlapping import EdMot, LabelPropagation from karateclub.node_embedding.neighbourhood import GraRep from karateclub.node_embedding.structural import GraphWave #------------------------------------ # Splitter example #------------------------------------ g = nx.newman_watts_strogatz_graph(100, 20, 0.05) model = EgoNetSplitter(1.0) model.fit(g) print(model.get_memberships()) #------------------------------------ # Edmot example #------------------------------------ g = nx.newman_watts_strogatz_graph(100, 10, 0.9) model = EdMot(3, 0.5) model.fit(g)
def test_egonet_splitter(): """ Test the Ego Net splitter procedure. """ graph = nx.newman_watts_strogatz_graph(100, 5, 0.3) model = EgoNetSplitter() model.fit(graph) memberships = model.get_memberships() indices = [k for k, v in memberships.items()].sort() nodes = [node for node in graph.nodes()].sort() assert graph.number_of_nodes() == len(memberships) assert indices == nodes assert type(memberships) == dict graph = nx.newman_watts_strogatz_graph(150, 5, 0.3) model = EgoNetSplitter() model.fit(graph) memberships = model.get_memberships() indices = [k for k, v in memberships.items()].sort() nodes = [node for node in graph.nodes()].sort() assert graph.number_of_nodes() == len(memberships) assert indices == nodes assert type(memberships) == dict # Test weighted graph graph = nx.les_miserables_graph() graph = nx.convert_node_labels_to_integers(graph) model = EgoNetSplitter(weight='weight') model.fit(graph) memberships = model.get_memberships() indices = [k for k, v in memberships.items()].sort() nodes = [node for node in graph.nodes()].sort() assert graph.number_of_nodes() == len(memberships) assert indices == nodes assert type(memberships) == dict # Force unweighted graph = nx.les_miserables_graph() graph = nx.convert_node_labels_to_integers(graph) model = EgoNetSplitter(weight=None) model.fit(graph) memberships = model.get_memberships() indices = [k for k, v in memberships.items()].sort() nodes = [node for node in graph.nodes()].sort() assert graph.number_of_nodes() == len(memberships) assert indices == nodes assert type(memberships) == dict
def splitter(population, neighbors, probability): g = nx.newman_watts_strogatz_graph(population, neighbors, probability) model = EgoNetSplitter(1.0) model.fit(g) #print(model.get_memberships()) return [model.get_memberships()]
"""Ego Splitting example.""" import networkx as nx from karateclub.community_detection.overlapping import EgoNetSplitter g = nx.newman_watts_strogatz_graph(100, 20, 0.05) model = EgoNetSplitter() model.fit(g)