用KNIME构建社会网络

大数据
要研究网络,先要明白什么是网络。网络由节点(node)以及节点之间的连线(也叫边,edge)构成。一个节点代表着一个行动者,或者说是一个实体,可以是一个人、一个组织、一个国家、一个商品、一个学科,等等。边是网络中两点之间的联系。

[[178224]]

社会网络分析(Social Network Analysis)是大数据分析的主要应用方向。社会网络分析关注的是关系,这种关系可以是人与人之间的关系,也可以是组织之间或是国家之间的关系,甚至可以是“啤酒”与“尿布”等物与物之间的关系。(注:“啤酒”与“尿布”的故事是一个数据挖掘的经典案例,经过数据挖掘与分析,沃尔玛超市发现美国奶爸们买尿布的时候常常也会顺带着买啤酒,从而带来营销启示。)

沈浩老师一直致力于社会网络分析的研究,今天,主要介绍的是如何用数据挖掘软件KNIME来构建社会网络。软件作为工具,背后是理论的指导,所以,我们先来简要说明一下关于社会网络的基本理论。

要研究网络,先要明白什么是网络。网络由节点(node)以及节点之间的连线(也叫边,edge)构成。一个节点代表着一个行动者,或者说是一个实体,可以是一个人、一个组织、一个国家、一个商品、一个学科,等等。边是网络中两点之间的联系。在社会网络分析中,正是边体现出了彼此之间的关系。边分为有向边和无向边,网络图从而也分为有向图和无向图。

下面以案例的形式介绍用KNIME构建社会网络图的详细步骤:

步骤1:建立一个空网络并读取关系数据

这是本例中所用的关系数据,Col0和Col1两列是node,Row ID是edge,利用Object Inserter,我们将数据插入到网络中。在Object Inserter中还可以选择对边的无向或有向以及边的权重进行设置,本例中我们设置边为无向边,不设置边的权重。

步骤2:读取节点特征数据,向网络中插入特征数据

这是本例中使用的节点特征数据,我们能够看到。这里的特征,指的是节点所代表的人的信息,分别是年龄、性别、收入和人生阶段。分别将这4个特征插入到网络中。也可以插入满足研究需要的节点特征,本例中将参与人数(也就是节点数)也插入其中。

细心的读者可能会发现,在“人生阶段(phase oflife)”中,有一些标了“?”的缺失值,对于这些缺失值,可以用决策树来进行预测,然后将预测值填入使数据完整。

可以看到,模型的准确率是83.636%。

步骤3:生成可视化网络图

将预测值插入网络中,用Network Viewer节点可视化呈现网络图。在该节点中,可以设置网络布局的算法、颜色、形状等等。

以节点名称(人名)为标签所呈现的网络图

以节点特征(这里是年龄)为标签所呈现的网络图

值得注意的一点是,Network Viewer并不支持处理超图(注:一般来讲,网络图中的一条边最多只能关联2个节点,但超图hypergraph中,它的超边hyperedge的关联节点可以大于2)和空边(边的关联节点小于1),所以如果网络中有这样的超边或空边,可以对其先进行过滤。有时,根据研究者的需要,也可以对网络的节点或边做一些符合需要的过滤。

叶子节点(leaf)指的是没有子节点的节点。环(loop)指的是边的关联节点数为1.

过滤后以节点特征(这里是年龄)为标签所呈现的网络图

责任编辑:武晓燕 来源: 36大数据
相关推荐

2016-12-22 10:00:18

KNIME流失模型

2011-03-03 15:08:48

2016-12-07 14:23:48

KNIME数据分析情感分析

2023-08-10 17:14:13

2016-12-07 14:56:51

KNIME数据分析

2009-06-19 17:20:27

ibmdwLotus企业级Web2.0

2010-09-03 11:02:14

2010-09-03 14:25:01

2016-12-07 14:45:25

KNIME情感分析数据分析

2023-10-04 20:48:09

2014-11-18 10:37:15

dockerlinux技巧

2016-07-01 14:43:32

DockerServerless

2009-05-08 09:35:50

YouTubeSNS社会化网络

2013-01-16 09:24:42

2023-09-28 12:05:43

2012-12-28 09:08:36

光纤虚拟网络存储网络

2023-09-23 08:09:32

2022-06-08 14:30:14

人工智能算法偏差供应链

2018-09-17 15:12:25

人工智能神经网络编程语言

2020-07-16 21:00:05

树莓派Kubernetes集Linux
点赞
收藏

51CTO技术栈公众号