예제 #1
0
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()
예제 #2
0
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()
예제 #3
0
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()
예제 #4
0
파일: test_.py 프로젝트: TIXhjq/hjq
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()
예제 #5
0
파일: struct2vec.py 프로젝트: TIXhjq/hjq
        sentence_list = []
        all_node = self.all_nodes

        for step in range(self.walk_epoch):
            random.shuffle(all_node)
            for node in all_node:
                sentence = self.bias_random_walk(node)
                sentence_list.append(sentence)

        return sentence_list

    def train(self):
        sentence_list = self.struct_walk()
        embeddings = self.embdding_train(sentence_list)
        evaluate_tools(embeddings).plot_embeddings()
        plt.show()


if __name__ == '__main__':
    path = '../wiki/Wiki_edgelist.txt'
    from util_tool import read_graph
    G = read_graph(edgelist_path=path)
    model = struct2vec(Graph=G,
                       walk_length=10,
                       k=8,
                       window_size=5,
                       dimension_size=128,
                       per_vertex=10,
                       work=4)
    model.train()
예제 #6
0
파일: sdne.py 프로젝트: TIXhjq/hjq
        return self.model

    def get_embeddings(self):
        embeddings = {}
        pred_embeddings = self.embedding_model.predict(
            self.W, batch_size=self.batch_size)

        rank = 0
        for embedding in pred_embeddings:
            embeddings[self.idx2node[rank]] = embedding
            rank += 1
        return embeddings


if __name__ == '__main__':
    Graph = read_graph()
    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)
예제 #7
0
파일: line.py 프로젝트: TIXhjq/ML_Function
                 self.embedding_dict['second'].get_weights()[0]))
        idx2node = self.idx2node
        for i, embedding in enumerate(embeddings):
            self.embeddings[idx2node[i]] = embedding

        return self.embeddings

    def transform(self):
        self.train()
        self.get_embedding()
        return self.embeddings


if __name__ == '__main__':
    from util_tool import read_graph
    Graph = read_graph('model/embedding/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='model/embedding/setence_model/logs/0/',
        epoch=100,
    )
    embeddings = line.transform()
    from evaluate import evaluate_tools
    tool = evaluate_tools(embeddings)
예제 #8
0
        for num in range(self.walk_epoch):
            random.shuffle(self.all_nodes)
            for node in self.all_nodes:
                sentence = self.random_walk(node, is_edge_sampling=True)
                sentence_list.append(sentence)

        return sentence_list

    def transform(self):
        sentence_list = self.Learn_Feature()
        embeddings = self.embdding_train(sentence_list)

        return embeddings


if __name__ == '__main__':
    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)
    eval_tool.plot_embeddings()