部分受限预测数据集

class PartiallyRestrictedPredictionDataset(*, heads: Tensor | Collection[int] | int | None = None, relations: Tensor | Collection[int] | int | None = None, tails: Tensor | Collection[int] | int | None = None, target: Literal['head', 'relation', 'tail'] = 'tail')[source]

基础类:PredictionDataset

用于评分一些链接的数据集。

“一些链接”被定义为

\[\mathcal{T}_{interest} = \mathcal{E}_{h} \times \mathcal{R}_{r} \times \mathcal{E}_{t}\]

注意

目前,目标,即在模型中利用其预测方法的位置,必须是实体/关系的完整集合。

示例 .. 代码块:: python

# 训练模型;注意:需要更多的epochs才能做有用的事情 ;-) from pykeen.pipeline import pipeline result = pipeline(dataset=”nations”, model=”mure”, training_kwargs=dict(num_epochs=0))

# 创建预测数据集,其中头部实体来自一组欧洲国家, # 并且关系与旅游相关 from pykeen.predict import PartiallyRestrictedPredictionDataset heads = result.training.entities_to_ids(entities=[“netherlands”, “poland”, “uk”]) relations = result.training.relations_to_ids(relations=[“reltourism”, “tourism”, “tourism3”]) dataset = PartiallyRestrictedPredictionDataset(heads=heads, relations=relations)

# 计算这个受限集合的所有分数,并保留k=3个最大的 from pykeen.predict import consume_scores, TopKScoreConsumer consumer = TopKScoreConsumer(k=3) consume_scores(result.model, ds, consumer) score_pack = consumer.finalize()

# 添加标签 df = result.training.tensor_to_df(score_pack.result, score=score_pack.scores)

初始化受限预测数据集。

Parameters:
Raises:

NotImplementedError – 如果目标位置受限,或任何非目标位置不受限