加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

PageRank、最小天生树:ML开拓者应该相识的五种图算法

发布时间:2019-09-10 12:57:04 所属栏目:建站 来源:佚名
导读:在互联天下中,用户不能被视为独立的实体。他们之间存在必然的相关,我们偶然但愿在构建呆板进修模子时思量到这些相关。 在相关数据库中,我们无法在差异的行(用户)之间操作这种相关,但在图数据库中,这样做很是简朴。 在这篇文章中,我们将接头一些数

假设你有沃尔玛市肆中各个过道位置和过道之间间隔的数据。您但愿为从 A 到 D 的顾主提供最短路径。

PageRank、最小天生树:ML开拓者应该相识的五种图算法

你已经看到 LinkedIn 表现一级毗连和二级毗连的方法。而这背后的机制是什么呢?

PageRank、最小天生树:ML开拓者应该相识的五种图算法

代码

  1. print(nx.shortest_path(g, 'Stuttgart','Frankfurt',weight='weight')) 
  2. print(nx.shortest_path_length(g, 'Stuttgart','Frankfurt',weight='weight')) 
  3. -------------------------------------------------------- 
  4. ['Stuttgart', 'Numberg', 'Wurzburg', 'Frankfurt'] 
  5. 503 

你也可以找到全部对之间的最短路径:

  1. for x in nx.all_pairs_dijkstra_path(g,weight='weight'): 
  2.     print(x) 
  3. -------------------------------------------------------- 
  4. ('Mannheim', {'Mannheim': ['Mannheim'], 'Frankfurt': ['Mannheim', 'Frankfurt'], 'Karlsruhe': ['Mannheim', 'Karlsruhe'], 'Augsburg': ['Mannheim', 'Karlsruhe', 'Augsburg'], 'Kassel': ['Mannheim', 'Frankfurt', 'Kassel'], 'Wurzburg': ['Mannheim', 'Frankfurt', 'Wurzburg'], 'Munchen': ['Mannheim', 'Karlsruhe', 'Augsburg', 'Munchen'], 'Erfurt': ['Mannheim', 'Frankfurt', 'Wurzburg', 'Erfurt'], 'Numberg': ['Mannheim', 'Frankfurt', 'Wurzburg', 'Numberg'], 'Stuttgart': ['Mannheim', 'Frankfurt', 'Wurzburg', 'Numberg', 'Stuttgart']}) 
  5. ('Frankfurt', {'Frankfurt': ['Frankfurt'], 'Mannheim': ['Frankfurt', 'Mannheim'], 'Kassel': ['Frankfurt', 'Kassel'], 'Wurzburg': ['Frankfurt', 'Wurzburg'], 'Karlsruhe': ['Frankfurt', 'Mannheim', 'Karlsruhe'], 'Augsburg': ['Frankfurt', 'Mannheim', 'Karlsruhe', 'Augsburg'], 'Munchen': ['Frankfurt', 'Wurzburg', 'Numberg', 'Munchen'], 'Erfurt': ['Frankfurt', 'Wurzburg', 'Erfurt'], 'Numberg': ['Frankfurt', 'Wurzburg', 'Numberg'], 'Stuttgart': ['Frankfurt', 'Wurzburg', 'Numberg', 'Stuttgart']}) 
  6. .... 

最小天生树(Minimum Spanning Tree,MST)

此刻我们面对另一个题目。假设我们在水管铺设公司或电线公司事变。我们必要行使起码的电线/管道来毗连图中全部都市。我们怎样做到这一点?

PageRank、最小天生树:ML开拓者应该相识的五种图算法

左: 无向图; 右: 对应 MST

应用

  • 最小天生树在收集计划中有直策应用,包罗计较机收集、电信收集、交通收集、供水收集和电网(最初是为它们发现的)。

  • MST 用于近似观光商题目。

  • 聚类:起首构建 MST,然后行使类间间隔和类内间隔确定阈值,用于冲破 MST 中某些边。

  • 图像支解:起首在图上构建 MST,个中像素是节点,像素之间的间隔基于某种相似性怀抱(颜色、强度等)

代码

  1. # nx.minimum_spanning_tree(g) returns a instance of type graph 
  2. nx.draw_networkx(*nx.minimum_spanning_tree*(g)) 

PageRank、最小天生树:ML开拓者应该相识的五种图算法

左: 无向图; 右: 对应 MST.

Pagerank

PageRank、最小天生树:ML开拓者应该相识的五种图算法

上图为谷歌提供恒久支持的页面排序算法(page sorting algorithm)。它按照输入和输出链接的数目和质量为页面打分。

应用

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读