Skip to content

Commit

Permalink
KC
Browse files Browse the repository at this point in the history
  • Loading branch information
benedekrozemberczki committed Aug 17, 2021
1 parent 377cf02 commit 11d3a44
Show file tree
Hide file tree
Showing 7 changed files with 125 additions and 99 deletions.
55 changes: 35 additions & 20 deletions test/attributed_node_embedding_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,17 @@
import numpy as np
import networkx as nx
from scipy.sparse import coo_matrix
from karateclub.node_embedding.attributed import BANE, TENE, TADW, FSCNMF, SINE, MUSAE, FeatherNode, ASNE, AE
from karateclub.node_embedding.attributed import (
BANE,
TENE,
TADW,
FSCNMF,
SINE,
MUSAE,
FeatherNode,
ASNE,
AE,
)


def test_asne():
Expand All @@ -14,7 +24,7 @@ def test_asne():
features = {i: random.sample(range(150), 50) for i in range(100)}
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(100*50)
data = np.ones(100 * 50)
shape = (100, 150)

features = coo_matrix((data, (row, col)), shape=shape)
Expand All @@ -27,6 +37,7 @@ def test_asne():
assert embedding.shape[1] == model.dimensions
assert type(embedding) == np.ndarray


def test_feather_node():
"""
Testing the FEATHER node embedding.
Expand All @@ -39,7 +50,10 @@ def test_feather_node():
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 (
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))
Expand All @@ -48,14 +62,14 @@ def test_feather_node():
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 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)}
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)
data = np.ones(250 * 50)
shape = (250, 150)

features = coo_matrix((data, (row, col)), shape=shape)
Expand All @@ -64,7 +78,10 @@ def test_feather_node():
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 (
embedding.shape[1]
== 2 * model.order * model.eval_points * model.reduction_dimensions
)
assert type(embedding) == np.ndarray


Expand Down Expand Up @@ -107,8 +124,7 @@ def test_fscnmf():
embedding = model.get_embedding()

assert embedding.shape[0] == graph.number_of_nodes()
assert embedding.shape[1] == 2*model.dimensions

assert embedding.shape[1] == 2 * model.dimensions

graph = nx.newman_watts_strogatz_graph(150, 10, 0.2)

Expand All @@ -118,7 +134,7 @@ def test_fscnmf():
embedding = model.get_embedding()

assert embedding.shape[0] == graph.number_of_nodes()
assert embedding.shape[1] == 2*model.dimensions
assert embedding.shape[1] == 2 * model.dimensions


def test_tene():
Expand All @@ -133,7 +149,7 @@ def test_tene():
embedding = model.get_embedding()

assert embedding.shape[0] == graph.number_of_nodes()
assert embedding.shape[1] == 2*model.dimensions
assert embedding.shape[1] == 2 * model.dimensions
assert type(embedding) == np.ndarray

graph = nx.newman_watts_strogatz_graph(150, 10, 0.2)
Expand All @@ -144,7 +160,7 @@ def test_tene():
embedding = model.get_embedding()

assert embedding.shape[0] == graph.number_of_nodes()
assert embedding.shape[1] == 2*model.dimensions
assert embedding.shape[1] == 2 * model.dimensions
assert type(embedding) == np.ndarray


Expand All @@ -160,7 +176,7 @@ def test_tadw():
embedding = model.get_embedding()

assert embedding.shape[0] == graph.number_of_nodes()
assert embedding.shape[1] == 2*model.dimensions
assert embedding.shape[1] == 2 * model.dimensions
assert type(embedding) == np.ndarray

graph = nx.newman_watts_strogatz_graph(150, 10, 0.2)
Expand All @@ -171,7 +187,7 @@ def test_tadw():
embedding = model.get_embedding()

assert embedding.shape[0] == graph.number_of_nodes()
assert embedding.shape[1] == 2*model.dimensions
assert embedding.shape[1] == 2 * model.dimensions
assert type(embedding) == np.ndarray


Expand All @@ -184,7 +200,7 @@ def test_musae():
features = {i: random.sample(range(150), 50) for i in range(50)}
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(50*50)
data = np.ones(50 * 50)
shape = (50, 150)
features = coo_matrix((data, (row, col)), shape=shape)

Expand All @@ -193,7 +209,7 @@ def test_musae():
embedding = model.get_embedding()

assert embedding.shape[0] == graph.number_of_nodes()
assert embedding.shape[1] == model.dimensions*(1+model.window_size)
assert embedding.shape[1] == model.dimensions * (1 + model.window_size)
assert type(embedding) == np.ndarray


Expand All @@ -206,7 +222,7 @@ def test_sine():
features = {i: random.sample(range(150), 50) for i in range(100)}
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(100*50)
data = np.ones(100 * 50)
shape = (100, 150)

features = coo_matrix((data, (row, col)), shape=shape)
Expand All @@ -229,7 +245,7 @@ def test_ae():
features = {i: random.sample(range(150), 50) for i in range(50)}
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(50*50)
data = np.ones(50 * 50)
shape = (50, 150)
features = coo_matrix((data, (row, col)), shape=shape)

Expand All @@ -238,6 +254,5 @@ def test_ae():
embedding = model.get_embedding()

assert embedding.shape[0] == graph.number_of_nodes()
assert embedding.shape[1] == model.dimensions*2
assert embedding.shape[1] == model.dimensions * 2
assert type(embedding) == np.ndarray

25 changes: 15 additions & 10 deletions test/community_detection_nonoverlapping_test.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
import numpy as np
import networkx as nx
from karateclub.community_detection.non_overlapping import EdMot, LabelPropagation, SCD, GEMSEC
from karateclub.community_detection.non_overlapping import (
EdMot,
LabelPropagation,
SCD,
GEMSEC,
)


def test_edmot():
"""
Expand All @@ -12,7 +18,7 @@ def test_edmot():

model.fit(graph)
memberships = model.get_memberships()

indices = [k for k, v in memberships.items()].sort()
nodes = [node for node in graph.nodes()].sort()

Expand All @@ -26,7 +32,7 @@ def test_edmot():

model.fit(graph)
memberships = model.get_memberships()

indices = [k for k, v in memberships.items()].sort()
nodes = [node for node in graph.nodes()].sort()

Expand All @@ -45,7 +51,7 @@ def test_label_propagation():

model.fit(graph)
memberships = model.get_memberships()

indices = [k for k, v in memberships.items()].sort()
nodes = [node for node in graph.nodes()].sort()

Expand All @@ -59,7 +65,7 @@ def test_label_propagation():

model.fit(graph)
memberships = model.get_memberships()

indices = [k for k, v in memberships.items()].sort()
nodes = [node for node in graph.nodes()].sort()

Expand All @@ -68,7 +74,6 @@ def test_label_propagation():
assert type(memberships) == dict



def test_scd():
"""
Test the SCD procedure.
Expand All @@ -79,7 +84,7 @@ def test_scd():

model.fit(graph)
memberships = model.get_memberships()

indices = [k for k, v in memberships.items()].sort()
nodes = [node for node in graph.nodes()].sort()

Expand All @@ -93,7 +98,7 @@ def test_scd():

model.fit(graph)
memberships = model.get_memberships()

indices = [k for k, v in memberships.items()].sort()
nodes = [node for node in graph.nodes()].sort()

Expand All @@ -112,7 +117,7 @@ def test_GEMSEC():

model.fit(graph)
memberships = model.get_memberships()

indices = [k for k, v in memberships.items()].sort()
nodes = [node for node in graph.nodes()].sort()

Expand All @@ -132,7 +137,7 @@ def test_GEMSEC():

model.fit(graph)
memberships = model.get_memberships()

indices = [k for k, v in memberships.items()].sort()
nodes = [node for node in graph.nodes()].sort()

Expand Down
Loading

0 comments on commit 11d3a44

Please sign in to comment.