Пример #1
0
                     n_batch=500,
                     modelfile=[
                         'gem/intermediate/enc_model.json',
                         'gem/intermediate/dec_model.json'
                     ],
                     weightfile=[
                         'gem/intermediate/enc_weights.hdf5',
                         'gem/intermediate/dec_weights.hdf5'
                     ])
    G_X = nx.to_numpy_matrix(G)
    embedding.learn_embedding(G)
    G_X_hat = embedding.get_reconstructed_adj()
    rec_norm = np.linalg.norm(G_X - G_X_hat)
    print(rec_norm)
    import pdb
    pdb.set_trace()
    # X = embedding.get_embedding()
    # import pdb
    # pdb.set_trace()
    node_colors_arr = [None] * node_colors.shape[0]
    for idx in range(node_colors.shape[0]):
        node_colors_arr[idx] = np.where(
            node_colors[idx, :].toarray() == 1)[1][0]
    # MAP, prec_curv, err, err_baseline = gr.evaluateStaticGraphReconstruction(
    #     G, embedding, X, None
    # )
    # print('MAP:')
    # print(MAP)
    viz.plot_embedding2D(G_X, di_graph=G, node_colors=node_colors_arr)
    plt.savefig('sdne_sbm_g_x.pdf', bbox_inches='tight')
Пример #2
0
        else:
            node_num = self._node_num
        adj_mtx_r = np.zeros((node_num, node_num))
        for v_i in range(node_num):
            for v_j in range(node_num):
                if v_i == v_j:
                    continue
                adj_mtx_r[v_i, v_j] = self.get_edge_weight(v_i, v_j)
        return adj_mtx_r


if __name__ == '__main__':
    # load Zachary's Karate graph
    edge_f = 'data/karate.edgelist'
    G = graph_util.loadGraphFromEdgeListTxt(edge_f, directed=False)
    G = G.to_directed()
    res_pre = 'results/testKarate'
    graph_util.print_graph_stats(G)
    t1 = time()
    embedding = LocallyLinearEmbedding(2)
    embedding.learn_embedding(graph=G,
                              edge_f=None,
                              is_weighted=True,
                              no_python=True)
    print('Graph Factorization:\n\tTraining time: %f' % (time() - t1))

    viz.plot_embedding2D(embedding.get_embedding(),
                         di_graph=G,
                         node_colors=None)
    plt.show()
Пример #3
0
    #---------------------------------------------------------------------------------
    print(("\tMAP: {} \t precision curve: {}\n\n\n\n" + '-' * 100).format(
        MAP, prec_curv[:5]))
    #---------------------------------------------------------------------------------

    print("DEBUG::embedding vectors:")
    print(embedding.get_embedding())

    # cluster vectors (community detection!)
    kmeans = KMeans(n_clusters=2,
                    random_state=0).fit(embedding.get_embedding())
    print(kmeans.labels_)

    # Visualize using GEM library
    X_ = embedding.get_embedding()
    viz.plot_embedding2D(X_, di_graph=G, node_colors=None)
    plt.show()

    # Visualize using tsne directly
    X_ = TSNE(n_components=2).fit_transform(X_)
    print("DEBUG::embedding vectors:")
    print(X_)
    pos = {}
    n_nodes = X_.shape[0]
    for i in range(n_nodes):
        pos[i] = X_[i, :]
    nx.draw_networkx(G,
                     pos,
                     node_color=kmeans.labels_,
                     node_size=300,
                     alpha=0.5,