Coursera, Big Data 5, Graph Analytics for Big Data, Week 3
Graph Analytics 有哪些类型

node type (labels)

node schema: attributes 组成了schema.

同样的, Edge也有 Edge Type 和Edge Schema

如果是一个完整的图,会包含以下信息

weight 权重,比如两点之间的 距离

1. Path Analytics
一些定义:
walk - 图上随便走的轨迹
path - 没有中间node重复的walk,比如 A-B-C-D-B-E 这个属于walk 不属于 path, path 是constrained 的walk
Cycle - 3个以上节点组成的环
Acyclic - 无环图, 比如最常见的说法 DAG- directed acyclic graph.
trail - 没有edge 重复的walk
dimeter of graph - 从任何一个node出发, 到任何另一个node, 走最短路径,最后得到的最大hops 就是 dimeter

最短路径问题
Dijkstra's Algorithm


上面是简化版本的,现在考虑加上constrain


Dijkstra 算法在大数据情况下表现不好,计算量很大
2. Connectivity Analytics
名词 degree 指这个Node有多少个连接的edge
主要关注图的 robust 和 相似性


连接度 Connectivity
下图是基于node 的connectivity, 去掉三个node 就隔开了图,所有connectivity 等于 3

下图是基于edge 的connectivity, 去掉4个edge就隔开了图,所有说 edge connectivity = 4.

node degree: 就是有多少条edge连接到node上
- Define a node's in-degree (# of incoming edges) and out-degree (# of outgoing edges)
- Describe a process for calculating the similarity of two graphs by finding the following for each graph and comparing them: find the degree of each node in a graph, then create a histogram of how many nodes have a certain degree.
- Define listener nodes (greater in-degree than out-degree), talker nodes (greater out-degree than in-degree) and communicator nodes (high in-degree and high out-degree).
node degree 进一步分成 indegree 和 outdegree


3. Community Analytics
- List the three types of analytics questions asked about communities (static, evolution, and predictions) and identify a real world example of a question in those categories.
- Calculate the internal degree and external degree of nodes in a community.
- Recognize that, for a community to really be a community, the relative number of total edges within that community (cluster) should be high relative to the total number of edges from nodes in the community to nodes outside it.



怎么从network里面找到 community呢?这里介绍了两种方法,一种是关注 Local property
Clique - 小集团的意思,每个node都和其他node有连接

实际上,find 大于3或者4的clique比较难,所有我们要relax clique的定义,有两种relaxation, 一种基于distance, 一种基于density, 其中两种基于distance的定义是n-clique 和 n-clan, 基于density的是k-core.
下面是n-clique的说明,Mike 不属于绿色点形成的2-clique

n-clan 纠正了这种情况


前面是讲基于 local property 的community 发现算法,接着将基于 grobal property 的community 发现算法
By the end of this video you will be able to...
- Describe modularity conceptually -- a graph is more modular if there are more edges in that community than would be likely if edges were randomly assigned.
- Given two graphs, identify visually which is more modular.
- Identify the 6 ways in which communities are often tracked over time.
- Identify which of the 6 changes would happen when two companies merge and when a company spins off a start-up.
grobal property 特别关注的property 是 modularity
然后讲到了基于modularity 的community 发现方法叫 Louvain method. 具体详情见 https://www.youtube.com/watch?v=dGa-TXpoPz8


相对于static graph, 经常见的还有 evolving graph. 有6种类型的evolving method.

4. Centrality Analytics
By the end of this video you will be able to...
- Define an influencer in a social network as a node (e.g. person) who can reach all other nodes quickly.
- Identify the 2 key (central) player problems: Which nodes when removed will maximally disrupt a network and which set of nodes can reach (almost) all other nodes in a network.
- Identify the 4 types of centrality discussed: degree, group, closeness, and betweenness.
- Identify which type of centrality you would want to identify in the following 2 cases: when you have information you want to inject quickly into a graph that follows shortest paths for dissemination and when you have a commodity that flows through a network.

两个概念 Centrality and Centralization
Centralization is for a network. As the number of nodes in a network with high centrality increases (orange nodes), then the centralization of a network decreases -- because there is less variation in the centrality values of the nodes in the network.

有超过30种的测量centrality 的方法



讲 connectivity 时候提到了power law 算法,不知道具体是什么
Ref
https://afteracademy.com/blog/dijkstras-algorithm Dijkstras 算法有图解,很清楚
Coursera, Big Data 5, Graph Analytics for Big Data, Week 3的更多相关文章
- 【Python学习笔记】Coursera课程《Using Python to Access Web Data》 密歇根大学 Charles Severance——Week6 JSON and the REST Architecture课堂笔记
Coursera课程<Using Python to Access Web Data> 密歇根大学 Week6 JSON and the REST Architecture 13.5 Ja ...
- 【Python学习笔记】Coursera课程《Using Python to Access Web Data 》 密歇根大学 Charles Severance——Week2 Regular Expressions课堂笔记
Coursera课程<Using Python to Access Web Data > 密歇根大学 Charles Severance Week2 Regular Expressions ...
- 论文解读(SimGRACE)《SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation》
论文信息 论文标题:SimGRACE: A Simple Framework for Graph Contrastive Learning without Data Augmentation论文作者: ...
- Coursera, Big Data 4, Machine Learning With Big Data (week 1/2)
Week 1 Machine Learning with Big Data KNime - GUI based Spark MLlib - inside Spark CRISP-DM Week 2, ...
- Intel® Threading Building Blocks (Intel® TBB) Developer Guide 中文 Parallelizing Data Flow and Dependence Graphs并行化data flow和依赖图
https://www.threadingbuildingblocks.org/docs/help/index.htm Parallelizing Data Flow and Dependency G ...
- SSIS Data Flow 的 Execution Tree 和 Data Pipeline
一,Execution Tree 执行树是数据流组件(转换和适配器)基于同步关系所建立的逻辑分组,每一个分组都是一个执行树的开始和结束,也可以将执行树理解为一个缓冲区的开始和结束,即缓冲区的整个生命周 ...
- Data Being Added Conflicts with Existing Data
While developing a page with multiple scrolls levels, and especially when using a grid, you may get ...
- Competing in a data science contest without reading the data
Competing in a data science contest without reading the data Machine learning competitions have beco ...
- data Mining with Weka: Trailer More Data Mining with Weka 用weka 进行数据挖掘 Weka 用weka 进行更多数据挖掘
https://www.youtube.com/user/WekaMOOC 大学公开课 视频教程 weka 入门教程 data Mining with Weka: Trailer More Dat ...
- Use Dynamic Data Masking to obfuscate your sensitive data
Data privacy is a major concern today for any organization that manages sensitive data or personally ...
随机推荐
- 使用Stream流实现以List<Map<String, Object>>集合中Map的key值进行排序
使用Stream流实现以List<Map<String, Object>>集合中Map的key值进行排序 创建一个list存入数据 List<Map<String, ...
- 使用FastReport报表动态更新人员签名图片
在一些报表模块中,需要我们根据用户操作的名称,来动态根据人员姓名,更新报表的签名图片,也就是电子手写签名效果,本篇随笔介绍一下使用FastReport报表动态更新人员签名图片. 1.设计FastRep ...
- nodejs,express设置允许跨域请求
express设置允许跨域请求 //设置跨域访问 app.all("*", function (req, res, next) { //设置允许跨域的域名,*代表允许任意域名跨域 ...
- [oeasy]python0067_ESC键进化历史_键盘演化过程_ANSI_控制序列_转义序列_CSI
光标位置 回忆上次内容 上次了解了 新的转义模式 \33 逃逸控制字符 esc 这个字符让输出退出标准输出流 进行控制信息的设置 可以设置光标输出的位置 ASR33中的ALT MODE 是 今天的ES ...
- oeasy教您玩转vim - 54 - # 匹配替换
查找细节 回忆上节课内容 我们学习了 替换 substitude 替换单行 :s/shiyanlou/oeasy 加上range :3,5s/shiyanlou/oeasy :%s/shiyanl ...
- 对比python学julia(第一章)--(第六节)数字黑洞
6.1. 问题描述 6174数字黑洞是印度数学家卡普雷卡尔于1949年发现的,又称为卡普雷卡尔黑洞,其规则描述如下. 任意取一个4位的整数(4个数字不能完全相同),把4个数字由大到小排列成一个大的数, ...
- 【ActiveJdbc】02
一.基本的数据库操作 数据模型层: import org.javalite.activejdbc.Model; 数据访问层: import org.javalite.activejdbc.Base; ...
- 【Linux】Re04
一.文件所有者 [root@localhost ~]# ls -ahl 总用量 40K dr-xr-x---. 3 root root 187 11月 29 19:20 . dr-xr-xr-x. 1 ...
- 【转载】 tensorflow: 怎样找到对应的bazel 版本和安装
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/u011279649/article/de ...
- 解决CGLib动态代理测试不通过-Unable to load cache item
1.背景 在学习aop底层时遇到的问题,做个小结 2.现象 动态代理代码如下: package com.ldp.proxy; import net.sf.cglib.proxy.Enhancer; i ...

