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:

数据框

警告

如果您打算将关系分类用作模型的输入或超参数选择,请不要包含测试三元组以避免泄漏!

Returns:

一个包含列 {“relation_id”, “pattern”, “support”?, “confidence”?} 的数据框。

Parameters:
Return type:

数据框