Как мне повысить матрицу scipy.sparse
до степени, поэлементно? numpy.power
должен, согласно его руководству , сделать это, но это не сработает на разреженных матрицах:
>>> 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
.