torch_geometric.metrics.LinkPredCoverage

class LinkPredCoverage(k: int, num_dst_nodes: int)[source]

Bases: _LinkPredMetric

A link prediction metric to compute the Coverage @ \(k\) of predictions, i.e. the percentage of unique items recommended across all users within the top-\(k\).

Higher coverage indicates a wider exploration of the item catalog.

Parameters:
  • k (int) – The number of top-\(k\) predictions to evaluate against.

  • num_dst_nodes (int) – The total number of destination nodes.

update(pred_index_mat: Tensor, edge_label_index: Union[Tensor, Tuple[Tensor, Tensor]], edge_label_weight: Optional[Tensor] = None) None[source]

Updates the state variables based on the current mini-batch prediction.

update() can be repeated multiple times to accumulate the results of successive predictions, e.g., inside a mini-batch training or evaluation loop.

Parameters:
  • pred_index_mat (torch.Tensor) – The top-\(k\) predictions of every example in the mini-batch with shape [batch_size, k].

  • edge_label_index (torch.Tensor) – The ground-truth indices for every example in the mini-batch, given in COO format of shape [2, num_ground_truth_indices].

  • edge_label_weight (torch.Tensor, optional) – The weight of the ground-truth indices for every example in the mini-batch of shape [num_ground_truth_indices]. If given, needs to be a vector of positive values. Required for weighted metrics, ignored otherwise. (default: None)

Return type:

None

compute() Tensor[source]

Computes the final metric value.

Return type:

Tensor

reset() None

Resets metric state variables to their default value.

Return type:

None