我需要确定来自两个不同数据集的两列与一个匹配列之间是否存在链接,其中;
Dataset1: bipartite: (M, DS)
M G
m23 ds3
m23 ds67
m54 ds325
... ...
Dataset2: tripartite: (M, G, DG)
M G DG
m23 g6 dg32
m23 g8 dg1
m54 g32 dg65
... ... ...
这两个数据集共有一列(即M),元素之间的关系如下所示:
M ----affects----> G
M ----causes-----> DS
DG ----affects----> M
主要目标:通过公共列(M )计算间接相关列(例如DG和DS )之间可能存在的可能链接/边缘的概率。
因此,对于给定的 DS 条目列表,如何找到所选 DS 与所有其他 DG 之间存在链路/边缘的概率
DS <---- ----> DG
如果DS;(ds3, ds67) 被选中,输出应该是这样的:
element1 - element2 - 表示存在直接关系或链接的概率/统计值。
ds3 - dg32 - 100% (common M value)
ds3 - dg1 - 100% (common M value)
ds3 - dg65 - 43.66%
---
ds67 - dg32 - 100% (common M value)
ds67 - dg1 - 100% (common M value)
ds67 - dg65 - 55.12%
我正在尝试用 Java 编写代码,但基于 Python 的解决方案也可以工作。
对不起,我对图论不太熟悉,非常感谢一些描述性的解决方案。谢谢。