Python图形数据(Graph)

/ / Python图形数据(Graph)

CSGraph代表压缩稀疏图,其重点是基于稀疏矩阵表示的快速图算法。

稀疏图

图只是节点的集合,节点之间具有链接,图几乎可以代表任何事物-社交网络连接,其中每个节点都是一个人,并与熟人相连;图像,其中每个节点是一个像素,并连接到相邻像素;高维分布中的点,其中每个节点都连接到其最近的邻居,并且几乎可以想象到其他任何内容。

无涯教程网

举一个具体的示例,假设无涯教程想代表以下无向图-

Undirected Graph

此图包含三个节点,其中节点0和1通过权重2的边缘连接,节点0和2通过权重1的边缘连接,以下示例所示,请记住,无向图由对称矩阵表示。

G_dense = np.array([ [0, 2, 1],
                     [2, 0, 0],
                     [1, 0, 0] ])
                     
G_masked = np.ma.masked_values(G_dense, 0)
from scipy.sparse import csr_matrix

G_sparse = csr_matrix(G_dense)
print G_sparse.data

上面的程序将产生以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/python-data-science/python-graph-data.html

来源:LearnFk无涯教程网

array([2, 1, 2, 1])
Undirected Graph Using Symmetric Matrix

这与前面的图相同,除了节点0和2通过零权重的边连接,在这种情况下,上面的密集表示会导致歧义-如果零是有意义的值,那么如何表示非边缘。在这种情况下,必须使用掩码表示或稀疏表示来消除歧义。

让无涯教程考虑以下示例。

from scipy.sparse.csgraph import csgraph_from_dense
G2_data = np.array
([
   [np.inf, 2, 0 ],
   [2, np.inf, np.inf],
   [0, np.inf, np.inf]
])
G2_sparse = csgraph_from_dense(G2_data, null_value=np.inf)
print G2_sparse.data

上面的程序将产生以下输出。

链接:https://www.learnfk.comhttps://www.learnfk.com/python-data-science/python-graph-data.html

来源:LearnFk无涯教程网

array([ 2., 0., 2., 0.])

祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)

精选教程推荐

👇 以下精选教程可能对您有帮助,拓展您的技术视野

结构写作力 -〔李忠秋〕

李智慧 · 高并发架构实战课 -〔李智慧〕

Redis源码剖析与实战 -〔蒋德钧〕

技术面试官识人手册 -〔熊燚(四火)〕

Kafka核心源码解读 -〔胡夕〕

图解 Google V8 -〔李兵〕

Electron开发实战 -〔邓耀龙〕

数据分析实战45讲 -〔陈旸〕

微服务架构核心20讲 -〔杨波〕

📝 好记忆不如烂笔头,留下您的学习笔记吧!

暂无学习笔记,成为第一个分享的人吧!

您的笔记将帮助成千上万的学习者