图数据科学 (GDS) 集成
Neo4j Graph Data Science (GDS) 算法可以帮助您深入挖掘数据中的新见解,无论是针对节点本身,还是它们之间的连接方式。有关图算法的更多信息,请参阅《Neo4j Graph Data Science 库手册》。
|
在场景(Scene)中的元素上运行 Graph Data Science 算法不会更改基础数据。这些分数仅在 Bloom 中临时存在。 |
以下简要介绍了这些算法,完整说明请参考《Neo4j Graph Data Science 库手册》。
|
为了在 Bloom 中使用 GDS 功能,您需要安装支持版本的 GDS 插件。有关更多信息,请参阅版本兼容性以及《Neo4j Graph Data Science 库手册》→ 支持的 Neo4j 版本。 |
Bloom 中可用的 GDS 算法
可用的算法可以分为两类:中心性(Centrality)和社区发现(Community detection)。中心性算法用于衡量网络中特定节点的重要性,并发现各个节点所扮演的角色。节点的重要性可能意味着它拥有大量的连接,或者它与其他重要节点存在传递性连接。它也可以意味着通过很少的跳转即可到达另一个节点,或者它位于多个节点对的最短路径上。Bloom 中提供以下中心性算法:
-
中介中心性 (Betweenness Centrality)
-
度中心性 (Degree Centrality)
-
特征向量中心性 (Eigenvector Centrality)
-
PageRank
另一方面,社区发现算法用于查找数据中的子组,并可以深入了解网络是否容易瓦解。社区发现适用于各种图,从社交媒体网络到机器学习。Bloom 中提供以下社区发现算法:
-
Louvain
-
标签传播 (Label propagation)
-
弱连通分量 (Weakly connected components)
度中心性 (Degree Centrality)
度中心性算法通过测量连接到节点的入度、出度或两者,来查找图中连接最多的节点。
中介中心性 (Betweenness Centrality)
中介中心性算法用于发现有影响力的节点,即那些作为场景中大多数最短路径的“交通要道”的节点。具有高中介中心性的节点是连接图的不同子部分的节点。
特征向量中心性 (Eigenvector Centrality)
特征向量中心性算法用于衡量节点的传递性影响。这意味着,一个节点要获得较高的特征向量中心性得分,它需要连接到其他节点,而这些节点本身也连接良好。特征向量中心性与中介中心性的区别在于,前者不仅基于节点与其他节点的直接关系,还基于相关节点的关系。
PageRank
PageRank 算法是一种衡量图中每个节点相关性的方法。节点的相关性基于它拥有多少来自其他节点的入度关系,以及这些源节点本身的重要性。
Louvain
Louvain 算法旨在在大型网络中查找连接紧密的节点集群。例如,它对于产品推荐非常有用。如果您知道客户购买了某个特定集群中的一件产品,他们很可能对该集群中的另一件产品感兴趣。
标签传播 (Label Propagation)
标签传播算法是查找图中社区的另一种方法。标签传播与 Louvain(均为社区发现算法)的一个区别是,前者允许一定程度的监督,即可以设置某些先决条件,从而对结果进行一定程度的控制。当您已经对数据的内在结构有所了解时,这非常有用。
弱连通分量 (Weakly Connected Components)
弱连通分量算法用于查找图中与其他部分无法连通的子图。它可用于确定您的网络是否完全连通,例如,也可用于发现供应链中的薄弱环节。
在 Bloom 中使用 GDS 算法
先决条件
要在 Bloom 中使用 GDS 算法,在启动 Bloom 之前,您需要执行两件事:
-
安装 Graph Data Science 库插件。最简单的方法是通过 Neo4j Desktop 安装。有关更多信息,请参阅 Neo4j Desktop 手册中的安装插件部分。
-
在
neo4j.conf文件中允许使用 GDS。这可以手动完成或通过 Neo4j Desktop 完成。dbms.security.procedures.unrestricted设置需要包含 Bloom 和 GDS(以及已指定的其他项),如下所示:dbms.security.procedures.unrestricted=jwt.security.*,bloom.*,gds.*,apoc.*需要取消注释
dbms.security.procedures.allowlist设置,并同样需要包含 Bloom 和 GDS(如前所述,包括其他项),如下所示:dbms.security.procedures.allowlist=apoc.coll.*,apoc.load.*,gds.*,bloom.*,apoc.*
完成上述配置后,您可以启动 Bloom 并开始搜索,将数据导入场景以运行算法。
另外,如果您连接到 Neo4j Aura 实例,GDS 算法可以通过无服务器(serverless)选项在单独的计算环境中运行,或者使用 Graph Analytics 插件在与数据库相同的 AuraDB 实例中运行(共享资源)。这在您于 Neo4j Aura 控制台中创建 AuraDB 实例时进行选择。有关更多信息,请参阅Neo4j Aura → 创建实例。