我使用networkx创建了一个邻接矩阵,如下所示:
from networkx.algorithms.bipartite.matrix import biadjacency_matrix as adj
user_node_list = data['user_id'].unique()
item_node_list = data['item_id'].unique()
adj_matrix = adj(B, user_node_list, column_order=item_node_list, dtype=None, weight='rating', format='csr')
我想把这个调整矩阵形象化。我该怎么做
您可以使用熊猫来可视化调整矩阵,如下所示:
大部分时间我们都在处理具有稀疏邻接矩阵的图,因此networkx返回的是SciPy Compressed Sparse Row matrix,而不是} representation 不同于香草(致密)NumPy基质。看起来像
numpy.ndarray
或numpy.matrix
。前者使用更高效的数据结构和算法来表示和处理稀疏矩阵。特别是基质的^{这是有意义的,因为如果CSR矩阵的表示与密集矩阵相同,那么如果矩阵非常大,则简单的打印语句或日志消息可能会对性能产生严重影响
将上述输出与普通(密集)NumPy矩阵的
__repr__
输出进行比较:这使我们能够直观地检查矩阵元素(我猜这就是“可视化调整矩阵”的意思)
要将稀疏CSR矩阵转换为密集NumPy矩阵,只需执行
sparse_matrix.todense()
。请注意,稀疏矩阵的这种表示形式将需要更多的内存,因此在处理较大的图形时请注意这一点相关问题 更多 >
编程相关推荐