“什么时候会需要使用图数据科学?当数据中的关系很重要时。” Neo4j的高级数据科学家Alicia Frame介绍说,“如果您要预测的事物之间没有关联,则可能不需要我们,但无数事实已经证明,关联总是存在的。”
数据是有内在关联的(Connected),但是大多数数据平台无法使您利用这些关联。而以Neo4j为代表的图数据库将关系存储在数据中以提高遍历效率,而Neo4j Graph Data Science Library(图数据科学扩展包) 能够解锁数据中的网络结构以获得更深入的了解。
在本次的五分钟采访中,我们与Neo4j的高级数据科学家Alicia Frame探讨Neo4j 图数据科学扩展库,及其主要用例。
什么是Neo4j图数据科学扩展库(GDS)?
GDS是Neo4j数据库上的插件(是在之前的ALGO扩展库的基础上重新开发的,编者按)。它使您可以灵活地调整数据库的结构和子集,以执行数据分析和机器学习任务。它既包括将图重塑为面向复杂分析和学习任务的、优化的数据结构和过程,又包括分成三类(alpha、beta和产品化版本)的48种算法的功能库,帮助理解图数据拓扑结构的关键特征。
例如,不同的节点在网络/图中有多重要?节点形成的社区有几个?可用的路径有多少?这些信息可以在全局图中得到,并可以转化为机器可解释、甚至人类可理解的结果。
图数据科学库都有哪些用例?
在最初的早期使用者中,我们已经看到了三大用例。
毫无疑问,最流行的是欺诈检测,这包括寻找异常的模式和交易,或者身份信息盗用。在金融网络中,典型行为是什么样的、存在任何异常节点吗?通常这些节点具有更高的连通性,或者该节点到已知欺诈者的路径非常短。现在已经有不少(基于图算法的)总结行为和发现异常的方法。
我们也有一些使用Graph Data Science Library对数据进行消除歧义处理的客户。基本上,在拥有的所有这些数据中,哪些节点重复?哪些节点组都代表同一事物?
我们有客户使用诸如节点相似性或连通子图/分量之类的算法,应用到数据中,无论是数百个节点,还是数十亿个节点,以了解多少实际用户接触过某类产品?在线个人资料中有多少实际上是相同的?帐户持有者或帐户创建者是同一用户?这些信息可以用来在多个平台或许多不同数据集之间掌握用户的购买经历。
第三类用例是“目标营销”:如果我有一个新产品,我应该针对谁发送相关信息?
过去,我们讨论过基于Neo4j实现协同过滤的营销方法,即找到购买此商品的客户也购买了哪些其他商品。今天,如果引入数据科学,我们根据用户的社交关系,在所有连接中找到更有影响力的那几位,并推荐他们买的东西。
或者,我们可能会根据客户的购买方式、交易历史记录和他们的客户旅程来寻找与您非常相似的其他客户,并根据类似的拓扑结构提出建议,而不仅仅是盲目的查询。
为什么图数据科学如此强大?
我认为,一般而言,图数据科学的主要力量在于,它是一种将关系考虑在内的方式。如果您是Python领域的常规数据科学家,那么一切都是行和列,无法自然地将数据点链接在一起。每行都是您要预测的内容,并且具有描述符,例如年龄,性别或位置。
图则通过关系将所有内容链接在一起。谁知道谁?谁与谁联系?谁重要?信息如何分散在整个图表中?然后,您可以开始在图形上遍历这些多跳模式。
那么什么时候使用图数据科学呢?重要的是关系。如果您要预测的事物之间没有关系,那么您可能不需要我们,但无数事实已经证明,关联总是存在的。这就是Graph Data Science Library的目的。
您对图数据库的初学者有什么建议?
我认为一个很好的起点是提出问题。花时间思考您想回答的问题。关系如何重要?这是一个图形问题吗?然后在我们提供的算法中找出适合您问题的匹配项。如果对如何对图形进行子集化有疑问,则可能需要社区检测。如果您想知道谁是重要的,那是一个中心算法。
一旦知道了您要回答的问题,便会告知您要处理的数据以及如何构造图形。然后考虑如何开始以及如何衡量成功。
如何开始使用Graph Data Science Library?
GDS 可以在Neo4j Desktop中作为
插件之一安装,也可以在我们的
下载中心或
GitHub图数据科学的GitHub存储库中找到它。
我们还有在线的
图数据科学沙箱,包括精选的经验和介绍,以方便用户快速入门。沙箱既可以运行算法,也可以使用Bloom可视化算法的结果,以了解所有这些数字和模式意思。
想更多了解GDS吗?欢迎发送邮件到
china@neo4j.com与我们联系。