SampledRankBasedEvaluator
- class SampledRankBasedEvaluator(evaluation_factory: CoreTriplesFactory, *, additional_filter_triples: None | Tensor | list[Tensor] = None, num_negatives: int | None = None, head_negatives: Tensor | None = None, tail_negatives: Tensor | None = None, **kwargs)[source]
Bases:
RankBasedEvaluator
A rank-based evaluator using sampled negatives instead of all negatives.
See also [teru2020].
Notice that this evaluator yields optimistic estimations of the metrics evaluated on all entities, cf. https://arxiv.org/abs/2106.06935.
Initialize the evaluator.
- Parameters:
evaluation_factory (CoreTriplesFactory) – the factory with evaluation triples
additional_filter_triples (None | MappedTriples | list[MappedTriples]) – additional true triples to use for filtering; only relevant if not explicit negatives are given. cf.
pykeen.evaluation.rank_based_evaluator.sample_negatives()
num_negatives (int | None) – the number of negatives to sample; only relevant if not explicit negatives are given. cf.
pykeen.evaluation.rank_based_evaluator.sample_negatives()
head_negatives (LongTensor | None) – shape: (num_triples, num_negatives) the entity IDs of negative samples for head prediction for each evaluation triple
tail_negatives (LongTensor | None) – shape: (num_triples, num_negatives) the entity IDs of negative samples for tail prediction for each evaluation triple
kwargs – additional keyword-based arguments passed to
pykeen.evaluation.rank_based_evaluator.RankBasedEvaluator.__init__()
- Raises:
ValueError – if only a single side’s negatives are given, or the negatives are in wrong shape
Methods Summary
process_scores_
(hrt_batch, target, scores[, ...])Process a batch of triples with their computed scores for all entities.
Methods Documentation
- process_scores_(hrt_batch: Tensor, target: Literal['head', 'relation', 'tail'], scores: Tensor, true_scores: Tensor | None = None, dense_positive_mask: Tensor | None = None) None [source]
Process a batch of triples with their computed scores for all entities.
- Parameters:
hrt_batch (Tensor) – shape: (batch_size, 3)
target (Literal['head', 'relation', 'tail']) – the prediction target
scores (Tensor) – shape: (batch_size, num_entities)
true_scores (Tensor | None) – shape: (batch_size, 1)
dense_positive_mask (Tensor | None) – shape: (batch_size, num_entities) An optional binary (0/1) tensor indicating other true entities.
- Return type:
None