
108
|
第
6
章
传递给该算法的参数如下。
Library
从图加载的节点标签。
DEPENDS_ON
从图加载的关系类型。
输出结果如下所示:
setId libraries
2 [pytz, matplotlib, spacy, six, pandas, numpy, python-dateutil]
5 [jupyter, jpy-console, nbconvert, ipykernel, jpy-client, jpy-core]
1 [pyspark, py4j]
不出所料,结果与
Spark
实现的完全相同。
前面介绍的两种社团发现算法都属于确定性算法,即每次运行都返回相同的结果。接下来
介绍两种不确定性算法,多次运行的话,即使数据相
同,结果也可能不同。
6.5
标签传播算法
标签传播算法
(
label propagation algorithm
,
LPA
)是在图中查找社团的一种快速算法。在
该算法中,节点基于直接邻节点选择群组。这种方法非常适用于分组不那么清晰、可以用
权重辅助确定节点所属社团的网络。标签传播算法也很适合半监督学习,这是因为可以使
用预先分配的指示性节点标签作为种子。
该算法的思想是,一个标签可以很快主导连接稠密的节点群组,但它在跨越连接稀疏的区
域时会遇到困难。当算法完成时,标签被困在连接稠密的节点群组中,最终具有相同标签
的节点可视为在同一社团中。该算法将成员关系指派给邻域内关系和节点组合权重最高的
标签,这样就解决了重叠问题(节点可能属于多个簇)。标签传播算法是
2007
年由