Si tiene una matriz dispersa X:elementos de multiplicarse en una matriz dispersa en la matriz con filas
>> X = csr_matrix([[0,2,0,2],[0,2,0,1]])
>> print type(X)
>> print X.todense()
<class 'scipy.sparse.csr.csr_matrix'>
[[0 2 0 2]
[0 2 0 1]]
y una matriz Y:
>> print type(Y)
>> print text_scores
<class 'numpy.matrixlib.defmatrix.matrix'>
[[8]
[5]]
... ¿Cómo se puede multiplicar cada elemento de la X por las filas de Y. por ejemplo:
[[0*8 2*8 0*8 2*8]
[0*5 2*5 0*5 1*5]]
o:
[[0 16 0 16]
[0 10 0 5]]
he cansado pero obviamente esto no funciona ya que las dimensiones no coinciden: Z = X.data * Y
¿Sería también trabajar con matrices COO? – Zach
No, para COO, tendría que hacer 'Z.data * = Y [Z.row]' Creo, o np.take en lugar de indexar si le importa la velocidad. – seberg
Eso funciona. Lo hace sin densificar la matriz ¿verdad? – Zach