行列VxKのすべての値を、稠密行列の一部である列Vx1のすべての値のべき乗で求めようとしていますVxN。したがって、ベータの各値は、列内の対応する行の累乗にする必要があります。これは、ベータ版のすべてのK列に対して実行する必要があります。私が使用してベータ版のための練習numpyのアレイ用のpythonにnp.power使用する場合:行列を稠密行列の列のパワーにPythonでnumpyを使用
np.power(head_beta.T, head_matrix[:,0])
を私は私が望む結果を得ることができています。ベータの場合は(3,10)、head_matrix [:、0]の場合は(10、)です。この場合、3 = K、10 = Vです。
Iは、データ、行、およびCOLが配列され
matrix=csc_matrix((data,(row,col)), shape=(30784,72407)).todense()
を用いて得られた私の実際の行列、でこれを行う場合は、私は同様の操作を行うことができません:
np.power(beta.T, matrix[:,0])
ここで、寸法はベータの場合(10,30784)、この場合は10 = K、30784 = Vの場合は(30784,1)です。私は、違いが行列の行列(長さ、1)とhead_matrixは実際に私が作成したnumpyの配列(長さ)であることをあるようだ次のエラー
ValueError Traceback (most recent call last)
<ipython-input-29-9f55d4cb9c63> in <module>()
----> 1 np.power(beta.T, matrix[:,0])
ValueError: operands could not be broadcast together with shapes (10,30784) (30784,1) `
を取得します。どのようにして、この同じ操作を高密度マトリックスの列で行うことができますか?
:
M[:,0].A1
は(N)しばらく前から配列を生成します'ravel'のように'(1、N) 'になります。 – hpaulj