清理分割器

class CleanupSplitter(cleaner: str | Cleaner | type[Cleaner] | None = None)[source]

基础类:Splitter

清理分割器首先随机分割三元组,然后进行清理。

在清理过程中,三元组被移动到训练部分,直到所有实体在训练中至少出现一次。

分割器支持两种清理变体,参见 cleaner_resolver

初始化分割器。

Parameters:

cleaner (str | Cleaner | type[Cleaner] | None) – 使用的清理方法。默认为快速确定性清理器,这可能导致期望和实际三元组计数之间的较大偏差。

方法总结

split_absolute_size(mapped_triples, sizes, ...)

将三元组分割成干净的组。

方法文档

split_absolute_size(mapped_triples: Tensor, sizes: Sequence[int], random_state: Generator) Sequence[Tensor][source]

将三元组分割成干净的组。

此方法对三元组进行分区,即每个三元组恰好在一个组中。此外,它确保第一个组至少包含所有实体一次。

Parameters:
  • mapped_triples (Tensor) – 形状: (n, 3) 基于ID的三元组

  • sizes (Sequence[int]) – 每个分割部分的绝对三元组数量。

  • random_state (Generator) – 用于分割的随机状态

Returns:

每个分割部分的基于ID的三元组序列。绝对值可能不同以确保约束。

Return type:

Sequence[Tensor]