def load_data(opt): print("Loading {} dataset..." .format(opt.network)) idx_features_labels = np.genfromtxt("{}.content" .format(opt.network), dtype=np.dtype(str)) features = sp.csr_matrix(idx_features_labels[:, 1:-1], dtype=np.float32) #特征 labels = encode_onehot(idx_features_labels[:, -1]) # 类别的one-hot编码 idx = np.array(idx_features_labels[:, 0], dtype=np.int32) idx_map = {j: i for i, j in enumerate(idx)} edges_unordered = np.genfromtxt("{}.cites".format(opt.network),dtype=np.float32) edges = np.array(list(map(idx_map.get, edges_unordered.flatten())), dtype=np.float32).reshape(edges_unordered.shape) # 编码到编号的转换 adj = sp.coo_matrix((np.ones(edges.shape[0]), (edges[:, 0], edges[:, 1])), shape=(labels.shape[0], labels.shape[0]), dtype=np.float32)
时间: 2024-04-02 07:34:31 浏览: 115
graph_opt.pb
这是一个加载数据的函数,它的输入参数是 opt。函数会根据 opt 中的 network 字段的值来确定要加载哪个数据集。该函数会从文件中读取数据,其中 ".content" 文件包含节点的特征,".cites" 文件包含节点之间的边。函数会将节点的特征和标签进行编码,其中标签会进行 one-hot 编码。最后,函数会返回一个邻接矩阵 adj,表示节点之间的连接关系。
阅读全文