京公网安备 11010802034615号
经营许可证编号:京B2-20210330
图数据挖掘浅析
互联网发展至今,数据规模越来越大,数据结构越来越复杂,而且对系统的需求越来越高。如果学习过数据结构,那么都知道图是放在最后一个结构,当你学习了图,那么应该感知到前面的链表,队列,树都是在图上面加了一些约束而派生出来的结构。所以图是一个一般性的结构,可以适应于任何结构类型的数据。
一、什么是图数据挖掘
这个话题感觉比较沉重,以至于我敲打每个字都要犹豫半天,这里我说说我对图数据挖掘的理解。数据是一个不可数名字,那么说明数据是一个没有边界的东西。而挖掘是一个很形象化的动词,一般意义上,挖掘是挖掘出对我们有用的东西,不然也不会闲着没事刨个坑把自己放进去,肯定是里面有宝贝,我们才挖掘。那么不难理解,数据挖掘就是挖掘数据里面的“宝贝”,图数据挖掘,就是以图的结构来存储、展示、思考数据,以达到挖掘出其中的“宝贝”。那这个“宝贝”是什么?这个有点主观意识来理解了,“宝贝”这个词本身就带有主观色彩,而没有一个客观的答案,不像是美女大胸、翘臀、高挑、皮肤白皙、脸蛋好看等一系列标准。那么如何理解图数据里面的“宝贝”呢?举个例子吧,例如:当今互联网产生了很多社交数据,某某关注了某某,那么某某和某某就有了关系,某某评论过某某,那么这又产生了关系,在这个里面某某就是图中的节点,而评论过,关注了则是节点之间的关系,如果某某再多点,这就形成了一个无边界的图了。那么对这个图进行关系挖掘,那么会产生很多有用的数据,比如可以推荐你可能认识的人,那就是朋友的朋友,甚至更深,这就形成了某空间好友推荐的功能。比如某宝的你可能喜欢的宝贝,可以通过图数据挖掘来实现。这就是我认为的图数据挖掘。
从学术上讲,图数据挖掘分为数据图,模式图两种。至于这两个类型的区别,由于很久没有关注这块,所以只能给出一个字面意义上的区别。数据图:则是以数据节点为基础来进行分析图,模式图:则是以数据整个关系模型来进行分析数据。可能解释存在错误,望指正。我之前主要是接触数据图一块的东西,模式图没有太多了解。关于数据图和模式图在学术界存在几个比较有参考意义的实现以及算法。数据图有:BANKS,BLINKS,Object rank;模式图有:DBXplorer(微软),DISCOVER(加利福尼亚大学),S-CBR(人民大学,就是在大学学数据库都会知道的人:王珊)。下面主要对数据图的几种实现进行简单介绍,模式图,可以找上面相关论文进行了解。
二、数据图典型实现介绍
1、BANK(Browsing and Keyword Searching in Relational Databases)
整体上说一下它的思想是通过关系数据库进行存储图结构的数据加上Dijkstra算法来进行数据的存储和图数据的搜索。该算法第一步先是匹配所有关键词的关键节点,并且以每个关键节点为源节点进行一次Dijkstra算法对图进行遍历,因此可以形成和每个关键节点可达的节点堆,该堆是进行了按照到关键节点距离进行堆排序的堆。因此可以想想每个关键节点的节点堆的第一个元素则是到该关键节点最近的节点。利用这个,那么对每个节点堆一次遍历,每次遍历只取堆的第一个节点,可以得知,这个取出的节点和节点对对应的关键词是可达的,如果这个节点和所有关键节点可达,那么就可以这个节点为根节点形成一个结果树,所以需要对这个取出的节点进行标记,标记的目的就是说我这个关键节点来过这里了(有点类似到此一游的感觉)。这就是BANK的大体上的算法思想。下面提出一个流程图,帮助大家理解一下。
这种方式存在几个缺点:由于它的这个算法是需要把整个图结构加载到内存中,所以当节点数一大,那么可能会内存的限制。第二个缺点是,它的搜索是单向的,这样在效率上面存在一定的缺陷。这个算法也是我研究图数据挖掘主要研究的对象,因为比较简单,容易理解。下面针对上面两个缺陷介绍另外两个算法。
2、Bidirectional Expansion For Keyword Search on Graph Databases
这个算法则是在第一个基础上面进行了扩展,支持双向搜索。从而解决了上麦年的第二个缺陷。具体算法实现,很久没接触了,而且当时也没关注这方面的实现,所以我也不是很清楚,只是知道它实现了双向遍历。具体的可以点击标题,看它的论文。
3、BLINK BLINKS Ranked keyword searches on graphs
这个实现是解决了大图问题,通过对图进行分割,形成超图的概念,加载内存只需要把超图进来,当需要遍历这个超图节点的时候,再将超图节点里面的明细节点加载到内存,基于这个概念可以很好的解决节点数量大而受内存的限制,这个算法有点类似地图的放大镜,当需要展示某一块(超图节点)的时候,则加载当前块的内容,用户就会看到更加明细的地图信息。具体算法,可以点击标题,看看它的论文。
既然说道图,那么不得不提一下在图数据库方面最流行的neo4j。neo4j是在09年过年的时候接触的,当时是调研以何种方式来存储图数据,所以当时弄了一下,后没就没关注了。当时看neo4j真的很小,不像现在这么成熟。
三、NEO4J预览
在NEO4J官方文档里面会看到下面几点介绍图数据库。
“A Graph —records data in→ Nodes —which have→ Properties”
上面很简单明了的介绍了图是什么,图是以节点存储记录数据,而节点数据是以属性形式关联节点。
“Nodes —are organized by→ Relationships —which also have→ Properties”
这句话说明了关系在图中的作用,可以理解节点是通过关系来进行组织和管理,并且关系也可以包裹属性信息。
“Nodes —are grouped by→ Labels —into→ Sets”
在图中标签的作用就是对节点进行分组,并且同一个标签的节点会放到一个集合中,这个有点类似上面说的对图进行分割。比如:给节点贴上一个“人”的标签,那么当对图进行搜索的时候,当指定“人”这个标签的时候,那么只会找到所有人的节点,而不会找到猫,狗等节点。这样可以提高图的遍历速度,而且可以更好的管理图的节点。
“A Traversal —navigates→ a Graph; it —identifies→ Paths —which order→ Nodes”
一个路径的遍历,它可以正确的导航整个图的结构遍历,并且它可以对应一系列路径,这些路径则是将所有节点串联起来。这个解释了搜索在图中的定位,一条搜索可以对应多条路径,也就是多条结果,而每个结果包含一系列节点。
“An Index —maps from→ Properties —to either→ Nodes or Relationships”
图中的建立索引的数据来自于节点和关系的属性,并且索引会直接映射到节点和关系。这样可以通过索引遍历图中的节点和关系,以得到结果。
“A Graph Database —manages a→ Graph and —also manages related→ Indexes”
这里明确的表示了图数据是干什么的,同时也表达了NEO4J是干什么的。他是管理和维护图数据CRUD,并且维护图数据的索引建立和更新。是对图数据操作的一个对外接口。
上面是隔了四年之久,再次关注NEO4J,感觉它已经真的长大了,之前只是一个很小很小的一个基本上不会关注的项目,到今天已经发展到了图数据库的领头羊。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数据指标体系搭建工作中,从业者常困惑于指标搭建的核心逻辑:究竟是依托一线零散数据自下而上汇总指标,还是基于战略目标自上 ...
2026-07-31在数据分析、问卷研究、实验复盘、业务建模的工作中,大多数人最关注的是“用什么统计方法”:是做T检验、方差分析、卡方检验, ...
2026-07-31 许多数据分析师精通Excel函数和SQL查询,但当面对一张上万行的销售明细表,要快速回答“哪个地区销量最高”“哪款产品增长最 ...
2026-07-31在问卷调研的数据分析流程中,“先检验信效度,再开展进阶统计分析”是通用的规范逻辑。很多从业者会听到“问卷效度高,后续可以 ...
2026-07-30【核心关键词】大数据、统计学、专业、毕业生、论文、课程、计算机、建模、知识、数据分析、机器学习、数据科学、大数据技术、 ...
2026-07-30 很多数据分析师掌握了Excel函数、会写SQL查询,但当被问到“数据从哪里来”“数据加工有哪些步骤”“如何使用分析工具连接数 ...
2026-07-30在业务数据分析中,按天拆分统计夜间时段的数据是高频需求——比如电商夜间订单监测、平台夜间用户活跃度分析、运维系统夜间异常 ...
2026-07-29在机器学习建模与特征工程实践中,判断不同特征对模型预测效果的贡献度,是特征筛选、模型解释、业务归因的核心环节。特征置换重 ...
2026-07-29 很多数据分析师精通Excel单元格操作,但当被问到“表结构数据的基本处理单位是什么”“字段和记录的本质区别”“为什么表结 ...
2026-07-29【核心关键词】岗位、数字化、经验、课程、方法论、决策、企业、大方向、数据分析、销售管理、理论知识、思维方式、分析销售、 ...
2026-07-28在问卷调研、用户分群、效果对比等业务数据分析中,分类变量的关联性与差异性验证是高频需求。卡方检验作为针对离散分类数据的经 ...
2026-07-28 数据分析师八成以上的时间在和数据表格打交道,但许多人拿到Excel后习惯性地先算、先分析,结果回头发现漏了一列关键数据, ...
2026-07-28在Excel数据分析与报表制作中,数据透视表是快速完成多维度汇总、分组统计的核心工具。很多从业者在得到透视表汇总结果后,为了 ...
2026-07-27 很多数据分析师每天与Excel打交道,但当被问到“表格结构数据的基本处理单位是什么”“数据类型误判会引发哪些分析错误”“ ...
2026-07-27当下,我们已然步入数据要素价值全面释放的智能时代。数据不再只是零散的数字记录,更是驱动新质生产力运转的核心动能、滋养人工 ...
2026-07-27【核心关键词】客户、数据分析、指标体系、数据采集、数据指标、业务数据、分析思路、业务需求、分析方法 【专访摘要】本次 CDA ...
2026-07-24在数据分析、业务建模与数字化运营体系中,原始业务数据普遍存在缺失、重复、异常、口径不一致等质量问题,直接用于分析与建模会 ...
2026-07-24 很多数据分析师能熟练计算均值、标准差,但当被问到“如何用一张图让业务方3秒内看懂核心结论”“面对不同数据类型该怎么选 ...
2026-07-24在数据驱动的精细化运营体系中,指标是业务判断、效果复盘、策略优化的核心依据。随着企业数据化程度提升,指标数量持续膨胀,但 ...
2026-07-23在用户运营与产品增长体系中,留存是衡量产品真实价值与用户粘性的核心标尺,也是决定用户生命周期价值、获客投产比的底层因素。 ...
2026-07-23