GeekPlux

GeekPlux

马上订阅 GeekPlux RSS 更新: https://geekplux.com/atom.xml

浅思图数据可视化

2019年7月17日 05:21

原文地址:https://geekplux.com/2019/07/27/network-data-visualization

Why - 图分析的价值

首先,图是最能描述世界的结构。几乎所有事物都能抽象成图。有一门学科叫作“复杂网络”是专门用图这种数据结构来研究世界规律的。图一直是炙手可热的研究方向,国内复杂网络的研究不仅热门,也颇有成就。在图分析领域,已经沉淀了很多分析方法、研究模式,我们光是把这些现成的算法筛选,进而应用到我们的业务中已经很有价值了,更别说我们可以根据我们的需求去拓展图分析的边界。

目前我能想到的一些场景:

  • 分析网络中的结构。哪些节点形成了“孤岛”,哪些节点的重要性、影响力巨大
  • 关键节点挖掘。关键节点就是那些能够在更大程度上影响网络的结构与功能的一些特殊节点。准确发掘出网络中的关键节点,可以帮助我们更好地控制信息的传播、精准投放商品广告、预测热门研究成果等等。
  • 链路分析,链路预测。分析用户跳转的路径,分析服务器、数据库请求的路径、故障分析。预测用户可能跳转的地方,行为预测,推荐系统。

具体的场景:

用户进入一个网站之后,不停的跳转,然后每个页面是一个节点,每次跳转是一条边。我能不能比较多个用户跳转图的相似性,先把他们分类,然后再比较他们的偏好不同。搞清楚用户到底是为什么点击到了这个产品,这个链路的特点是什么,等等。

计算 - 图数据结构类库

既然图可视化需求这么多,我觉得应该把数据作为核心,数据和视图分离,抽象出一个单独的模块用来维护、处理、计算图数据结构。比如基本的节点查找、路径查找、最小生成树算法等等。

这个库的作用只用来计算,输出统一结构的图数据,我们甚至可以将图数据定义标准化,这样在其他图可视化或应用到图数据结构的场景中就能通用。

类似的轮子已经有了,我所用过最强大的是 [networkx](https://gi...

Continue to read