示意图的定义,什么叫示意图

首页 > 经验 > 作者:YD1662024-01-01 23:02:28

选自towardsdatascience

作者:Maël Fabien

机器之心编译

参与:熊猫

图(graph)近来正逐渐变成机器学习的一大核心领域,比如你可以通过预测潜在的连接来理解社交网络的结构、检测欺诈、理解汽车租赁服务的消费者行为或进行实时推荐。近日,数据科学家 Maël Fabien 在其博客上发布了涉及图论、图算法和图学习的系列文章《图论与图学习》。

本文是其中第一篇,介绍了图的一些基础知识并给出了 Python 示例。更多文章和对应代码可访问:https://github.com/maelfabien/Machine_Learning_Tutorials。

本文涵盖以下主题:

首先进行一些准备工作,打开 Jupyter Notebook,导入以下软件包:

后面的文章会使用 networkx 最新的 2.0 版本。networkx 是一个用于复杂网络的结构、动态和功能的创建、操作和研究的 Python 软件包。

import numpy as np import random import networkx as nx from IPython.display import Image import matplotlib.pyplot as plt

我会尽量以实用为目标,努力阐释每个概念。

图是什么?

图是互连节点的集合。

举个例子,一个简单的图可能是这样:

示意图的定义,什么叫示意图(1)

节点(node)用红色标出,通过黑色的边(edge)连接。

图可用于表示:

我们可以在图上执行怎样的分析?

过几分钟你就能明白所有这些概念。

我们首先在我们的笔记本中导入第一个预构建的图:

# Load the graph G_karate = nx.karate_club_graph() # Find key-values for the graph pos = nx.spring_layout(G_karate) # Plot the graph nx.draw(G_karate, cmap = plt.get_cmap('rainbow'), with_labels=True, pos=pos)

示意图的定义,什么叫示意图(2)

空手道图

这个「空手道」图表示什么?Wayne W. Zachary 在 1970 到 1972 年这三年中研究的一个空手道俱乐部的社交网络。该网络包含了这个空手道俱乐部的 34 个成员,成员对之间的连接表示他们在俱乐部之外也有联系。在研究期间,管理员 JohnA 与教练 Mr.Hi(化名)之间出现了冲突,导致俱乐部一分为二。一半成员围绕 Mr.Hi 形成了一个新的俱乐部,另一半则找了一个新教练或放弃了空手道。基于收集到的数据,除了其中一个成员,Zachary 正确分配了所有成员在分裂之后所进入的分组。

图的基本表示方法

图 G=(V, E) 由下列要素构成:

示意图的定义,什么叫示意图(3)

节点、边和度的示意图

举个例子,在这个案例中,我们可以计算出一些连接任意两个节点的最短路径。该图的直径为 3,因为没有任意两个节点之间的最短路径的长度超过 3。

示意图的定义,什么叫示意图(4)

首页 12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.