split
- split(mapped_triples: Tensor, ratios: float | Sequence[float] = 0.8, random_state: None | int | Generator = None, randomize_cleanup: bool = False, method: str | None = None) Sequence[Tensor][source]
将三元组分割成干净的组。
- Parameters:
mapped_triples (Tensor) – 形状: (n, 3) 基于ID的三元组。
ratios (float | Sequence[float]) – 此参数有三种选项。 首先,可以给出一个介于0和1.0之间的浮点数(不包括0和1.0)。第一组三元组将获得此比例,第二组将获得剩余部分。 其次,可以给出一个比例列表,指定每组应按什么顺序获得什么比例,如
[0.8, 0.1]。 最终比例可以省略,因为可以计算得出。 第三,可以明确设置所有比例,如[0.8, 0.1, 0.1],其中所有比例的总和为1.0。randomize_cleanup (bool) – 如果为真,则使用非确定性方法将三元组移动到训练集。这样做的优点是它不一定需要移动所有的三元组,但由于它一次只移动一个三元组,因此可能会显著变慢。
method (str | None) – 要使用的方法的名称,参见
splitter_resolver。默认为“coverage”,即,CoverageSplitter。
- Returns:
三元组的分区,根据比例(大约)进行分割。
- Return type:
ratio = 0.8 # makes a [0.8, 0.2] split train, test = split(triples, ratio) ratios = [0.8, 0.1] # makes a [0.8, 0.1, 0.1] split train, test, val = split(triples, ratios) ratios = [0.8, 0.1, 0.1] # also makes a [0.8, 0.1, 0.1] split train, test, val = split(triples, ratios)