Python图形数据(Graph)
CSGraph代表压缩稀疏图,其重点是基于稀疏矩阵表示的快速图算法。
稀疏图
举一个具体的示例,假设无涯教程想代表以下无向图-

此图包含三个节点,其中节点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
array([2, 1, 2, 1])

这与前面的图相同,除了节点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
array([ 2., 0., 2., 0.])
祝学习愉快! (发现内容有误?请选中要编辑的内容 -> 右键 -> 修改 -> 提交!帮助我们改进教程质量)
精选教程推荐
👇 以下精选教程可能对您有帮助,拓展您的技术视野
暂无学习笔记,成为第一个分享的人吧!
您的笔记将帮助成千上万的学习者