前提介绍:首先感谢 @崔斯特 在抓取数据中对我的协助。

这篇文章介绍的是数据可视化(Data visualization)的一些具体应用。

主要用到的工具 Python (抓取数据和分析数据), Gephi (数据可视化软件)

(另外: 我会介绍到两个在Facebook (Netvizz v1.42) 上抓取数据的app)先上图:

这是以五月天Fan-mily(原May Day Fan-mily) Facebook Group 为收集数据的来源制作的 社交网络关系图。

而这幅图是从《哈利波特与魔法石》中提取制作的 人物关系图。

好!我们正式开始!!

首先,我们看看如何获得数据。

这里主要分两种数据获取的模式:

1, 从网络直接获取的数据

2, 通过数据分析获得的数据

那第一种从网络直接获取的数据的方式有很多啦。像流行的Python爬虫 或者从 网站开放的API获取。

这里介绍的Netvizz 就是Facebook 开放API 提取数据的app.

可以翻墙的同学可以直接在Facebook 的搜索栏直接输入 Netvizz 就可以找到了。

图1

但有一点需要注意,为了保证用户隐私 Facebook 已经关闭了个人用户的API接口数据提取的服务。

所以,我们现在只能获得小组和页面的数据。

图2

选择小组数据(Group data)后,我们会进入一个选项页面 (图3)。在这里我们要填写小组id (group id),那小组ID怎么获得呢? 点击旁边的 find group ids here。进入http://Lookup-id.com,将选择的FB小组的连接填入,就会得到一串数字,那就是小组ID(图5)。

(注意哦,Data to get 的勾勾要去掉)

图3

图4

图5

然后回到Netvizz页面。将ID输入,然后就可以进行抓取了。

下载文件中会有个 .gdf 的文件夹,用Gehpi将其打开就可以见到初始化的画面。

图6

控制面板的左边是:

Node(节点):控制画面中的小点点。

Edges(边):连接点的线。

Layout(布局):依据算法改变这个点与线的分布。

样式大家可以自由发挥啦,难度也不大。想学精细点的同学可以上Gephi官网上看看,那有很多具体的教程。

图7

以我这次讲Node中的Attribute 设置成为 Comment_count,Layout 选择Fruchterman Reingold 算法,关于这些布局算法(force-directed layout algorithm)的详情,其基本思想是通过移动节点和改变它们之间的力,以尽量减少系统的能量。其他几个算法大家可以在wiki上搜索下。于是黑黑的网格就变成富有结构和色彩了。

图8

右边是统计相关的数据,很多意思我也不懂啦,也在学习中,这里就不多介绍了。

关于 哈利波特与魔法石 的那幅图是怎么做出来的问题?

首先要从网上找到 哈利波特与魔法石 的文本并下载下来。

这一部分的爬虫是 @崔斯特 帮助我完成的,在这里再度表示感谢!

把小说弄到手后。

这就需要用到Python 对整本书进行文本分析。

在进行分析前,我们首先要创建一个人物名称的list。

从百度搜索 哈利波特的 人物表 制作成txt 如下:

这里选择用 jieba 进行分词

然后定义3个关系

之后按照字典类型names保存人物,该字典的键为人物名称,值为该人物在全文中出现的次数。字典类型relationships保存人物关系的有向边,该字典的键为有向边的起点,值为一个字典edge,edge的键是有向边的终点,值是有向边的权值,代表两个人物之间联系的紧密程度。lineNames是一个缓存变量,保存对每一段分词得到当前段中出现的人物名称,lineNames[i]是一个列表,列表中存储第i段中出现过的人物。

得到node.txt 和 edge.txt, 之后导入Gephi。选 Import spreadsheet, 分别导入 node.txt (选项中选择节点图) 和 edge.txt (

选项中选择边表图)。

之后的美化和用算法调整布局,大家就可以自由发挥啦。

最后,在介绍几个社交网络分析的概念吧。

第一:网络密度 (Network Density)

一个网络的密度是在一个给定的网络中的关系(边)的数目在网络中的节点之间的可能的关系的总数的比率

这是一个常用的措施,以确定如何连接良好的网络

一个完全连通的网络密度为1

而下面的网络举例显示密度为0.83

公式: 可观测到的实际联系/全部潜在的联系=关系密度

如图,可见关系数为(5),可能关系数(6),所以关系密度 5/6

密度是一个有用的措施互相比较网络

密度测度与跟踪诸如信息扩散(如思想、谣言、疾病传播等)的现象有关。

这是因为它假定,在紧密连接的网络中,信息的传播速度更快,达到更广泛的节点集

网络密度越大,越有可能被认为是一个有凝聚力的社区(即社会支持和有效传播的来源)

第二:层 (Degree)

指特定行动者对网络其他成员持有的关系的数量和类型

主要分: 单方向性关系 (directed relationship)和 对称关系 (symmetric relationship)

In-Degree

特定节点与他人的关系

Out-Degree

表明节点1和2之间的往复运动

基本上是一个衡量领带强度,这是同样相关的分析整个网络 (Weight Degree )

测量权重可以:互动频率、交换项目数、个体对关系强度的感知

3,结构洞 (Structural Holes)

结构空洞的思想描述了网络密度的相反,即缺乏连接。

结构孔归因于节点,否则连接密集的网络部分,是分成重要的连接节点。连接网络部分的这些节点被称为“Brokers”。

例如那几个大点点。

弱联系的概念与结构空洞的概念密切相关

类似于结构孔,弱关系在网络中嵌入较少。

尽管如此,他们承担重要的职能:

他们促进信息流之间的集群(即从遥远的部分网络)

弱联系有助于整合社会系统,否则将支离破碎和语无伦次

4. 集群 (Clustering)

计算和识别网络中的集群,特别是大型网络可能很麻烦

预定义的算法有助于识别集群,因此网络内的社区

Force Atlas 和 Force Altas 2:最常用的一种算法来确定在大型网络社区(在Gephi为例)

使用的算法的优势:没有现有的知识图理论需要可视化和分析集群网络

缺点:他们的准确性是高度依赖于我们正在分析的网络类型。

Reference:

gephi和python_介绍用Gephi进行数据可视化相关推荐

  1. 大数据可视化python_大数据分析之Python数据可视化的四种简易方法

    本篇文章探讨了大数据分析之Python数据可视化的四种简易方法,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. < 数据可视化是任何数据科学或机器学习项目的一个重要组成部分 ...

  2. grib1文件解析 python_基于Python的Grib数据可视化

    利用Python语言实现Grib数据可视化主要依靠三个库--pygrib.numpy和matplotlib.pygrib是欧洲中期天气预报中心(ECMWF)的GRIG API C库的Python接口, ...

  3. 《web开发: 数据可视化(Echarts)介绍》

    一.数据可视化介绍 1. 什么是数据可视化 数据可视化主要目的:借助于图形化手段,清晰有效地传达与沟通信息 数据可视化可以把数据从冰冷的数字转换成图形,揭示蕴含在数据中的规律和道理 2. 数据可视化的 ...

  4. 大数据可视化的方法、挑战及进展

    大数据可视化的方法.挑战及进展 摘要:在简化数据量和降低大数据应用的复杂性中,大数据分析发挥着关键的作用.可视化是其中一个重要的途径,它能够帮助大数据获得完整的数据视图并挖掘数据的价值.大数据分析和可 ...

  5. 一图胜千言!数据可视化多维讲解

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:Dipanjan,来源:机器之心 数据聚合.汇总和可视化是支撑数据 ...

  6. 大数据可视化技术面临的挑战及应对措施

    来源:科技导报 本文约5400字,建议阅读10分钟 本文介绍了适用于大数据的数据可视化技术,讨论了针对大数据可视化应用需求自主研发的交互式可视化设计平台AutoVis及其应用. [ 导读 ]本文从大数 ...

  7. 数据可视化配色指南:三大配色方法,做出咨询报告一样的图表丨附在线工具资源...

    作者 Michael Yi 伊瓢 编译 量子位 出品 | 公众号 QbitAI 做数据图表的时候,只会用Excel里的系统默认颜色? 别别别,大家都用默认配色,千篇一律,毫无特点. 可是学习色彩设计, ...

  8. python做前端可视化_Python数据可视化的四种简易方法

    摘要: 本文讲述了热图.二维密度图.蜘蛛图.树形图这四种Python数据可视化方法. 数据可视化是任何数据科学或机器学习项目的一个重要组成部分.人们常常会从探索数据分析(EDA)开始,来深入了解数据, ...

  9. prometheus变量_Prometheus 数据可视化

    释放双眼,带上耳机,听听看~! 1. 实验介绍 Prometheus 支持多种数据可视化方式,除了内置的表达式浏览器和控制台模板两种方式,还可使用开源的时序数据可视化工具 Grafana 来展示监控数 ...

  10. 一图胜千言!Python数据可视化多维讲解

    作者:Dipanjan,来源:机器之心 数据聚合.汇总和可视化是支撑数据分析领域的三大支柱.长久以来,数据可视化都是一个强有力的工具,被业界广泛使用,却受限于 2 维.在本文中,作者将探索一些有效的多 ...

最新文章

  1. 二级域名怎么设置_怎么建设自己的网站?看完这四个步骤你就明白了
  2. mysql字段掩码_在必须输入字母A~Z或数字0~9数据库中设计表时,如果将字段的输入掩码设置为“LLLL”,则该字段能够接受的输入是()_学小易找答案...
  3. NLP-基础知识-001
  4. emacs python_Emacs之Python编程环境配置 - elpy
  5. java message_Java Message System简介
  6. 动态规划--图像压缩
  7. 惊呆!到2020年三大运营商5G投入将达1800亿美元
  8. Linux 如何查看是否开启journal
  9. Open3D绘制3D坐标,绘制点云
  10. html页面显示dcm文件,基于HTML5标准的Dicom图像显示.doc
  11. rust启动错误ple_Rust 错误处理
  12. 有符号和无符号相加(vivo)
  13. android浏览器固定宽度,Android浏览器宽度拉伸到iframe内容宽度,尽管溢出:隐藏...
  14. 证明婚内出轨的几种证据
  15. java gui论文_毕业设计论文-基于JAVA GUI的电子邮件客户端软件的设计与实现.doc
  16. 【Python】有红、黄、绿三种颜色的球,编程计算摸出球的各种颜色搭配
  17. AURIX Development Studio 使用
  18. 持之以恒,不仅仅是说说而已
  19. Pix4Dmapper安装
  20. 三星手机电池循环清零代码_巅峰对决申真谞离奇“滑标”三星杯决赛首局柯洁轻松告捷...

热门文章

  1. 计算机模块一试题答案,2016年职称计算机考试模块综合试题及答案(1)
  2. 习题3第五题:分析习题2第四题所述的患者监护系统。试用实体联系图描绘本系统的数据对象,画出本系统的顶层IPO图。
  3. 远程监控养猪监控系统
  4. db2 cmd命令操作
  5. UE4/UE5 python打包Pak和Runtime加载Pak
  6. 以退为进还是被逼无奈?创始人王劲离职后,景驰科技该何去何从?
  7. tomacat 上传图片崩溃问题
  8. python的十句名言_“洗 脑”最厉害的10句名言!经典!
  9. 我是路人甲,请你为我祝福
  10. 人工智能导论(数据挖掘)