如何可视化大型稀疏矩阵的稀疏模式?
矩阵太大,无法作为密集数组放入内存,因此我采用 csr_matrix 格式。当我用它尝试 pylab 的 matshow 时,出现以下错误:
ValueError: 需要多于 0 个值才能解压
想法?
例如:
import pylab as pl
import scipy.sparse as sp
from random import randint
mat = sp.lil_matrix( (4000,3000), dtype='uint8' )
for i in range(1000):
mat[randint(0,4000),randint(0,3000)] = randint(0,10)
pl.figure()
pl.matshow(mat)
最佳答案
matshow
适用于密集数组。对于稀疏数组,您可以使用 spy
:
import scipy.sparse as sps
import matplotlib.pyplot as plt
a = sps.rand(1000, 1000, density=0.001, format='csr')
plt.spy(a)
plt.show()
关于python - 具有稀疏矩阵的matshow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18748929/