Neo4j 数据科学
简介
Neo4j 以原生图数据库为核心,提供 Neo4j 图数据科学 — 一个面向分析师和数据科学家的图算法库。
该库包括用于社区检测、中心性、节点相似性、路径查找和链接预测的算法。图数据科学 (GDS) 旨在支持图上的数据科学工作流和机器学习任务。
在 Neo4j GDS 中,典型的工作流程如下:
-
从 Neo4j 数据库读取图数据。
-
创建图投影——将数据加载到内存图中。
-
在投影上运行图算法。
-
将结果写回投影图和/或 Neo4j 数据库。
要了解有关 GDS 库功能的更多信息,请访问官方文档。
设置环境
在 Neo4j 中开始使用 GDS 有多种选项。您可以选择自托管版本或完全托管的云版本。
-
Neo4j AuraDS 是作为完全托管的云服务的数据科学解决方案,它将机器学习界面和图数据库统一到一个工作区中。AuraDS 文档详细介绍了其功能并提供了使用示例。
-
如果您喜欢使用本地解决方案,您可以:
-
在Neo4j Desktop(用于操作 Neo4j 的客户端应用程序)中将 GDS 安装为插件,
-
从 Neo4j 下载中心下载
neo4j-graph-data-science-[version].zip
并按照 Neo4j GDS 库手册 → Neo4j 服务器中描述的说明操作, -
如果您在 Docker 容器中运行 Neo4j,请将 GDS 库配置为 Neo4j Docker 插件。
GDS 有两个版本:社区版和企业版。要比较它们的功能,请访问 Neo4j 定价页面。
请注意,GDS 库必须与 Neo4j 兼容。在安装 GDS 库之前,请查阅 Neo4j GDS 手册 → 支持的 Neo4j 版本中的兼容性矩阵。
如果您在集群中运行 Neo4j,您可以遵循与 Neo4j 服务器相同的说明,并考虑一些额外事项。
-
-
如果您是图技术和 Neo4j 的新手,GraphAcademy 课程可能是一个很好的起点。它们免费、互动且注重实践。您可以选择专为数据科学家设计的学习路径。
此外,您可以使用 Neo4j Sandbox 来学习图概念和 Cypher。
将 Neo4j GDS 与您的数据生态系统集成
最大限度地减少数据移动的摩擦使得任何产品的采用都变得更加容易。考虑到这一点,Neo4j 提供了多种连接器、驱动程序和库,可实现轻松的数据集成
-
GDS Python 客户端,可以直接从 Python 调用所有 Neo4j GDS 过程。
-
数据仓库连接器,用于在 Snowflake、Google BigQuery、Amazon Redshift 或 Microsoft Azure Synapse Analytics 之间移动数据。
-
BI 连接器,用于直接访问 Microsoft Power BI、Tableau 等 BI 工具。
GDS Python 客户端
如果您是 Python 用户,可以使用名为 graphdatascience
的 GDS Python 客户端包。它使用户能够编写纯 Python 代码来投影图、运行算法、使用 ML 管道以及通过 GDS 训练 ML 模型。为避免与服务器端 GDS 库的命名混淆,我们将 Neo4j GDS 客户端称为 GDS Python 客户端。
-
要导入和设置 GDS Python 客户端,请遵循 GDS 客户端手册 → 入门中的说明。
-
要安装 GDS Python 客户端,请运行:
pip install graphdatascience
-
请记住 GDS Python 客户端、Neo4j Python 驱动程序和 GDS 库的服务器端安装之间的兼容性要求。请在 GDS 客户端手册中查看它们。
-
如果您在 AuraDS 上使用 GDS Python 客户端,请运行以下命令:
# Replace with the actual URI, username, and password AURA_CONNECTION_URI = "neo4j+s://xxxxxxxx.databases.neo4j.io" AURA_USERNAME = "neo4j" AURA_PASSWORD = "..." # Client instantiation gds = GraphDataScience( AURA_CONNECTION_URI, auth=(AURA_USERNAME, AURA_PASSWORD), aura_ds=True )
GDS Python 客户端的源代码可在 GitHub 上获取。
使用 Neo4j Bloom 进行数据可视化
数据可视化是数据科学工作流程中不可或缺的一部分。它不仅能让数据专家分析海量信息,还能高效地呈现这些信息。数据可视化工具和技术可以影响数据驱动的决策。
Neo4j 提供了一种低代码可视化工具——Neo4j Bloom,专为探索和动态可视化大型图而设计。
有关如何将 Bloom 与 GDS 库一起使用的说明,请参见 Neo4j Bloom 手册 → 图数据科学集成。
图数据科学用例
您可以将图数据科学应用于所有行业,以进行推荐、识别异常和发现欺诈者、提高客户认知和优化供应链。
本文档提供了如何将 GDS 中的图算法应用于实际用例的说明。
-
在 GDS 客户端手册 → 教程中,Jupyter 即用型笔记本展示了 GDS Python 客户端的功能。
-
AuraDS 文档中的使用示例展示了 GDS 工作流组件,并回答了关于如何估算内存使用量、监控正在运行的算法的进度或如何共享 ML 模型的常见问题。
除了手册之外,您还可以在 Neo4j YouTube 频道上查找信息。
向数据科学家提问关于图系列回答了许多问题并提供了重要见解。