get_relation_pattern_types_df
- get_relation_pattern_types_df(dataset: Dataset, *, min_support: int = 0, min_confidence: float = 0.95, drop_confidence: bool = False, parts: Collection[str] | None = None, force: bool = False, add_labels: bool = True) DataFrame[source]
基于RotatE的模式对关系进行分类[sun2019]。
关系分类基于检查相应的规则是否具有足够的支持和置信度。默认情况下,我们不要求最低支持度,但要求相对较高的置信度。
考虑了以下四种非排他性的关系类别:
对称性
反对称
反转
组成
该方法通常遵循关联规则挖掘的术语。模式表示为
\[X_1 \land \cdot \land X_k \implies Y\]其中 \(X_i\) 的形式为 \(r_i(h_i, t_i)\),并且一些 \(h_i / t_i\) 可能会在其他原子中重复出现。 模式的支持度是左侧所有变量的不同实例化的数量。 置信度是这些实例化中右侧也为真的比例。
- Parameters:
dataset (Dataset) – 要调查的数据集。
min_support (int) – 模式的最小支持度。
min_confidence (float) – 测试模式的最小置信度。
drop_confidence (bool) – 是否从结果框架中删除支持/置信度信息,并删除重复项。
部分 (Collection[str] | None) – 仅使用数据集的某些部分,例如训练三元组。默认使用所有三元组,即 {“training”, “validation”, “testing}。
force (bool) – 是否强制重新计算,即使有缓存的版本可用。
add_labels (bool) – 是否添加关系标签(如果可用)。
- Return type:
数据框
警告
如果您打算将关系分类用作模型的输入或超参数选择,请不要包含测试三元组以避免泄漏!