用KNIME构建社会网络

简介:

社会网络分析(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.

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


本文作者:沈浩

来源:51CTO

相关文章
|
1天前
|
SQL 安全 算法
网络安全与信息安全:构建数字世界的坚固防线##
本文旨在探讨网络安全和信息安全的重要性,分析常见的安全漏洞及其利用方式,介绍加密技术在保护数据安全中的作用,强调提高安全意识的必要性。通过深入浅出的方式,帮助读者理解网络安全的核心概念和实用技术,从而在日常生活中更好地保护自己的信息安全。 ##
|
1天前
|
存储 安全 网络安全
网络安全与信息安全:构建数字世界的防线
在数字化时代,网络安全与信息安全成为个人、企业乃至国家安全的重要组成部分。本文旨在深入探讨网络安全漏洞的本质、加密技术的前沿进展以及安全意识的重要性,为读者提供一个全面而深入的视角,以增强对网络空间安全威胁的认识和应对能力。
9 2
|
1天前
|
存储 安全 网络安全
云计算与网络安全:构建安全的数字基石##
本文探讨了云计算和网络安全之间的关系,重点介绍了云服务、网络安全和信息安全等关键技术领域。通过分析这些技术的基本原理和应用案例,揭示了它们在现代信息技术中的重要性。同时,提出了一些实用的建议,以帮助企业和个人更好地应对日益严峻的网络安全挑战。 ##
|
5天前
|
数据采集 JavaScript 前端开发
构建你的首个Python网络爬虫
【9月更文挑战第8天】本文将引导你从零开始,一步步构建属于自己的Python网络爬虫。我们将通过实际的代码示例和详细的步骤解释,让你理解网络爬虫的工作原理,并学会如何使用Python编写简单的网络爬虫。无论你是编程新手还是有一定基础的开发者,这篇文章都将为你打开网络数据获取的新世界。
|
5天前
|
机器学习/深度学习 数据采集 数据可视化
深度学习实践:构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行分类
本文详细介绍如何使用PyTorch构建并训练卷积神经网络(CNN)对CIFAR-10数据集进行图像分类。从数据预处理、模型定义到训练过程及结果可视化,文章全面展示了深度学习项目的全流程。通过实际操作,读者可以深入了解CNN在图像分类任务中的应用,并掌握PyTorch的基本使用方法。希望本文为您的深度学习项目提供有价值的参考与启示。
|
13天前
|
存储 传感器 物联网
|
13天前
|
监控 安全 网络协议
|
14天前
|
安全 开发者 数据安全/隐私保护
Xamarin 的安全性考虑与最佳实践:从数据加密到网络防护,全面解析构建安全移动应用的六大核心技术要点与实战代码示例
【8月更文挑战第31天】Xamarin 的安全性考虑与最佳实践对于构建安全可靠的跨平台移动应用至关重要。本文探讨了 Xamarin 开发中的关键安全因素,如数据加密、网络通信安全、权限管理等,并提供了 AES 加密算法的代码示例。
26 0
|
14天前
|
Java 前端开发 Apache
Apache Wicket与Spring MVC等Java Web框架大PK,究竟谁才是你的最佳拍档?点击揭秘!
【8月更文挑战第31天】在Java Web开发领域,众多框架各具特色。Apache Wicket以组件化开发和易用性脱颖而出,提高了代码的可维护性和可读性。相比之下,Spring MVC拥有强大的生态系统,但学习曲线较陡;JSF与Java EE紧密集成,但在性能和灵活性上略逊一筹;Struts2虽成熟,但在RESTful API支持上不足。选择框架时还需考虑社区支持和文档完善程度。希望本文能帮助开发者找到最适合自己的框架。
26 0
|
14天前
|
机器学习/深度学习 人工智能 TensorFlow
深度学习入门:使用Python和TensorFlow构建你的第一个神经网络
【8月更文挑战第31天】 本文是一篇面向初学者的深度学习指南,旨在通过简洁明了的语言引导读者了解并实现他们的第一个神经网络。我们将一起探索深度学习的基本概念,并逐步构建一个能够识别手写数字的简单模型。文章将展示如何使用Python语言和TensorFlow框架来训练我们的网络,并通过直观的例子使抽象的概念具体化。无论你是编程新手还是深度学习领域的新兵,这篇文章都将成为你探索这个激动人心领域的垫脚石。