9

Pythonでスパース行列をシャッフルする簡単な方法はありますか?

これは、非スパース行列をシャッフルする方法です。

    index = np.arange(np.shape(matrix)[0])
    np.random.shuffle(index)
    return matrix[index]

どうすればnumpysparseでそれを行うことができますか?

4

3 に答える 3

15

わかりました、それを見つけました。スパースフォーマットは、プリントアウトでは少し混乱しているように見えます。

    index = np.arange(np.shape(matrix)[0])
    print index
    np.random.shuffle(index)
    return matrix[index, :]
于 2012-09-01T19:27:13.813 に答える
1

誰かがスパース行列から行のサブサンプルをランダムに取得しようとしている場合は、この関連する投稿も役立つ可能性があります:scipy.sparse.csr.csr_matrixとリストからサブサンプリングを行うにはどうすればよいですか?

于 2016-03-18T14:11:32.423 に答える
0

より良い方法は、CSRマトリックスのインデックスをシャッフルし、マトリックスの行を次のようにフェッチすることです。

from random import shuffle
indices = np.arange(matrix.shape[0]) #gets the number of rows 
shuffle(indices)
shuffled_matrix = matrix[list(indices)] 
于 2019-01-22T22:46:03.317 に答える