torch_geometric.nn.models.SignedGCN
- class SignedGCN(in_channels: int, hidden_channels: int, num_layers: int, lamb: float = 5, bias: bool = True)[source]
Bases:
Module来自“Signed Graph Convolutional Network”论文的签名图卷积网络模型。在内部,该模块使用
torch_geometric.nn.conv.SignedConv操作符。- Parameters:
- forward(x: Tensor, pos_edge_index: Tensor, neg_edge_index: Tensor) Tensor[source]
基于正边
pos_edge_index和负边neg_edge_index计算节点嵌入z。- Parameters:
x (torch.Tensor) – The input node features.
pos_edge_index (torch.Tensor) – 正边索引。
neg_edge_index (torch.Tensor) – 负边索引。
- Return type:
- split_edges(edge_index: Tensor, test_ratio: float = 0.2) Tuple[Tensor, Tensor][source]
将边
edge_index分割为训练边和测试边。
- create_spectral_features(pos_edge_index: Tensor, neg_edge_index: Tensor, num_nodes: Optional[int] = None) Tensor[source]
基于正边和负边创建
in_channels频谱节点特征。
- discriminate(z: Tensor, edge_index: Tensor) Tensor[source]
给定节点嵌入
z,将节点对edge_index之间的链接关系分类为正向、负向或不存在。- Parameters:
z (torch.Tensor) – 输入的节点特征。
edge_index (torch.Tensor) – 边的索引。
- Return type:
- nll_loss(z: Tensor, pos_edge_index: Tensor, neg_edge_index: Tensor) Tensor[source]
基于节点嵌入
z、正边pos_edge_index和负边neg_edge_index计算判别器损失。- Parameters:
z (torch.Tensor) – 节点嵌入。
pos_edge_index (torch.Tensor) – The positive edge indices.
neg_edge_index (torch.Tensor) – The negative edge indices.
- Return type:
- pos_embedding_loss(z: Tensor, pos_edge_index: Tensor) Tensor[source]
计算正节点对和采样的非节点对之间的三元组损失。
- Parameters:
z (torch.Tensor) – 节点嵌入。
pos_edge_index (torch.Tensor) – The positive edge indices.
- Return type:
- neg_embedding_loss(z: Tensor, neg_edge_index: Tensor) Tensor[source]
计算负节点对和采样的非节点对之间的三元组损失。
- Parameters:
z (torch.Tensor) – 节点嵌入。
neg_edge_index (torch.Tensor) – The negative edge indices.
- Return type:
- loss(z: Tensor, pos_edge_index: Tensor, neg_edge_index: Tensor) Tensor[source]
计算总体目标。
- Parameters:
z (torch.Tensor) – The node embeddings.
pos_edge_index (torch.Tensor) – The positive edge indices.
neg_edge_index (torch.Tensor) – The negative edge indices.
- Return type:
- test(z: Tensor, pos_edge_index: Tensor, neg_edge_index: Tensor) Tuple[float, float][source]
通过计算AUC和F1分数来评估正负测试边上的节点嵌入
z。- Parameters:
z (torch.Tensor) – The node embeddings.
pos_edge_index (torch.Tensor) – The positive edge indices.
neg_edge_index (torch.Tensor) – The negative edge indices.
- Return type: