我正在尝试为图中节点的每个子集分配一个热编码。下面是我正在尝试的代码
import networkx as nx
import numpy as np
graph=nx.karate_club_graph()
nodes=list(graph.nodes())
n=graph.number_of_nodes()
subset_nodes=[1,2]
for v in subset_nodes:
y=nodes.index(v)
prob_vec=np.zeros((n,n))
prob_vec[0][y]=1
print(prob_vec)
我得到这个结果
[0. 1. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
...
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]]
[[0. 0. 1. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
...
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]]
I expect a matrix, with the subset nodes rows contains one hot encoding(1 value for each node in the subset node and others being zeros) like below:
[0. 1. 0. ... 0. 0. 0.]
[0.0 . 1. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
...
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]
[0. 0. 0. ... 0. 0. 0.]]
任何帮助都感激不尽
小唯快跑啊
相关分类