scipy.sparse
matrisini bir güçle nasıl eşleştirebilirim? numpy.power
, its manual göre bu yapmalıyım, ama seyrek matrisler üzerinde başarısız:Scipy.sparse matrisinin eleman gücü Gücü
>>> 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
aynı sorunu X**2
ile. Yoğun bir diziye dönüştürme çalışır, ancak değerli saniye israf eder.
np.multiply
ile aynı sorunu yaşadım; bu, sparse matrix'in multiply
yöntemini kullanarak çözdüm ama pow
yöntemi yok gibi görünüyor.
Size cevabı vermek için numpy ile yeterince tanıdık değilim, ancak kodunuz belgelere aykırı değil. Numpy.power öğesine yapılan ikinci argüman bir sayı değil, başka bir matris olmalıdır. – RoundTower
Nesnenin, element matrisi yapmak yerine tüm matrisi kare haline getirmeye çalışan '__pow__' yöntemini çağırıyor gibi görünüyor. Bu başarısız çünkü matrisin kare olmadığı anlamına gelir. –
@RoundTower: aslında, ikinci öğe, Numpy'deki bir matrisle aynı olmayan bir dizi olmalıdır, ancak bir skaler, bir '(1,) 'veya' (1,1) 'dizisi ile aynıdır. yoğun bir dizide "numpy.power" amaçları. –