from karateclub.community_detection.non_overlapping import EdMot, LabelPropagation, SCD, GEMSEC from karateclub.graph_embedding import Graph2Vec, FGSD, GL2Vec, SF, NetLSD, GeoScattering, FeatherGraph from karateclub.node_embedding.attributed import BANE, TENE, TADW, FSCNMF, SINE, MUSAE, FeatherNode from karateclub.node_embedding.structural import GraphWave, Role2Vec from karateclub.node_embedding.meta import NEU from karateclub.dataset import GraphReader, GraphSetReader #--------------- # Feather Node #--------------- g = nx.newman_watts_strogatz_graph(150, 10, 0.2) X = np.random.uniform(0, 1, (150, 127)) model = FeatherNode() model.fit(g, X) embedding = model.get_embedding() #---------------- # Feather Graph #---------------- graphs = [nx.newman_watts_strogatz_graph(50, 5, 0.3) for _ in range(100)] model = FeatherGraph() model.fit(graphs) embedding = model.get_embedding()
def test_feather_node(): """ Testing the FEATHER node embedding. """ graph = nx.newman_watts_strogatz_graph(250, 10, 0.2) features = np.random.uniform(0, 1, (250, 2000)) model = FeatherNode() model.fit(graph, features) embedding = model.get_embedding() assert embedding.shape[0] == graph.number_of_nodes() assert embedding.shape[ 1] == 2 * model.order * model.eval_points * model.reduction_dimensions assert type(embedding) == np.ndarray features = np.random.uniform(0, 1, (250, 16)) model = FeatherNode() model.fit(graph, features) embedding = model.get_embedding() assert embedding.shape[0] == graph.number_of_nodes() assert embedding.shape[ 1] == 2 * model.order * model.eval_points * features.shape[1] assert type(embedding) == np.ndarray features = {i: random.sample(range(150), 50) for i in range(250)} row = np.array([k for k, v in features.items() for val in v]) col = np.array([val for k, v in features.items() for val in v]) data = np.ones(250 * 50) shape = (250, 150) features = coo_matrix((data, (row, col)), shape=shape) model = FeatherNode() model.fit(graph, features) embedding = model.get_embedding() assert embedding.shape[0] == graph.number_of_nodes() assert embedding.shape[ 1] == 2 * model.order * model.eval_points * model.reduction_dimensions assert type(embedding) == np.ndarray
graphs = [nx.newman_watts_strogatz_graph(7, 5, 0.3) for _ in range(100)] model = IGE() model.fit(graphs) embedding = model.get_embedding() #--------------- # Feather Node #--------------- g = nx.newman_watts_strogatz_graph(150, 10, 0.2) X = np.random.uniform(0, 1, (150, 127)) model = FeatherNode() model.fit(g, X) embedding = model.get_embedding() #---------------- # Feather Graph #---------------- graphs = [nx.newman_watts_strogatz_graph(50, 5, 0.3) for _ in range(100)] model = FeatherGraph() model.fit(graphs) embedding = model.get_embedding()
"""Feather-N Example""" import numpy as np import networkx as nx from karateclub.node_embedding.attributed import FeatherNode g = nx.newman_watts_strogatz_graph(150, 10, 0.2) X = np.random.uniform(0, 1, (150, 16)) model = FeatherNode() model.fit(g, X) embedding = model.get_embedding()