分割器

class Splitter[source]

基础类:object

一种用于拆分三元组的方法。

方法总结

split(*, mapped_triples[, ratios, random_state])

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

split_absolute_size(mapped_triples, sizes, ...)

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

方法文档

split(*, mapped_triples: Tensor, ratios: float | Sequence[float] = 0.8, random_state: None | int | Generator = None) Sequence[Tensor][来源]

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

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

  • random_state (None | int | Generator) – 用于打乱和分割三元组的随机状态

  • ratios (float | Sequence[float]) – 此参数有三种选项。 首先,可以给出一个介于0和1.0之间的浮点数(不包括0和1.0)。第一组三元组将获得此比例,第二组将获得剩余部分。 其次,可以给出一个比例列表,指定每组应按什么顺序获得什么比例,如[0.8, 0.1]。 最后一个比例可以省略,因为它可以计算得出。 第三,可以明确设置所有比例的顺序,如[0.8, 0.1, 0.1],其中所有比例的总和为1.0。

Returns:

三元组的分区,根据比例(大约)进行分割。

Return type:

Sequence[Tensor]

abstract 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]