我如何提高 scipy.sparse
矩阵的幂,逐元素? numpy.power
应该,根据 its manual ,这样做,但它在稀疏矩阵上失败了:
>>> X
<1353x32100 sparse matrix of type '<type 'numpy.float64'>'
with 144875 stored elements in Compressed Sparse Row format>
>>> np.power(X, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File ".../scipy/sparse/base.py", line 347, in __pow__
raise TypeError('matrix is not square')
TypeError: matrix is not square
X**2
也有同样的问题。转换为密集数组可行,但会浪费宝贵的时间。
我在np.multiply
上遇到了同样的问题,我用稀疏矩阵的multiply
方法解决了,但是好像没有pow
方法。
最佳答案
我刚遇到同样的问题,发现稀疏矩阵现在支持逐元素幂。对于上面的情况,应该是:
X.power(2)
关于python - scipy.sparse 矩阵的逐元素幂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6431557/