def sdne_run(): Graph = read_graph('wiki/Wiki_edgelist.txt') sden_model = sdne( Graph=Graph, dimension_size=128, per_vertex=100, walk_length=10, window_size=5, work=1, beta=5, alpha=1e-6, verbose=1, epochs=1000, batch_size=512, log_dir='logs/0/', hidden_size_list=[256, 128], l1=1e-5, l2=1e-4 ) sden_model.train() embeddings = sden_model.get_embeddings() from evaluate import evaluate_tools eval_tool = evaluate_tools(embeddings,label_path='wiki/Wiki_labels.txt') eval_tool.plot_embeddings()
def deep_walk_run(): Graph = read_graph('wiki/Wiki_edgelist.txt') deepwalk = DeepWalk(Graph=Graph, per_vertex=80, walk_length=10, window_size=5, dimension_size=128, work=4) embeddings = deepwalk.transform() eval = evaluate_tools(embeddings=embeddings, label_path='wiki/Wiki_labels.txt') eval.plot_embeddings()
def node2vec_run(): Graph = read_graph('wiki/Wiki_edgelist.txt') node_vec = node2vec(Graph=Graph, per_vertex=80, walk_length=10, window_size=5, dimension_size=128, work=1, p=0.25, q=4) embeddings = node_vec.transform() eval_tool = evaluate_tools(embeddings, label_path='wiki/Wiki_labels.txt') eval_tool.plot_embeddings()
def line_run(): Graph = read_graph('wiki/Wiki_edgelist.txt') line = Line( Graph=Graph, dimension_size=128, per_vertex=100, walk_length=10, window_size=5, work=1, negative_ratio=1, batch_size=128, log_dir='logs/0/', epoch=100, ) embeddings = line.transform() tool = evaluate_tools(embeddings, label_path='wiki/Wiki_labels.txt') tool.plot_embeddings()
def train(self): sentence_list = self.struct_walk() embeddings = self.embdding_train(sentence_list) evaluate_tools(embeddings).plot_embeddings() plt.show()
self.embeddings[idx2node[i]] = embedding return self.embeddings def transform(self): self.train() self.get_embedding() return self.embeddings if __name__ == '__main__': from util import read_graph import os print(os.getcwd()) Graph = read_graph('../wiki/Wiki_edgelist.txt') line = Line( Graph=Graph, dimension_size=128, per_vertex=100, walk_length=10, window_size=5, work=1, negative_ratio=1, batch_size=128, log_dir='logs/0/', epoch=100, ) embeddings = line.transform() from evaluate import evaluate_tools tool = evaluate_tools(embeddings) tool.plot_embeddings()