Pythonでスパース行列をシャッフルする簡単な方法はありますか?
これは、非スパース行列をシャッフルする方法です。
index = np.arange(np.shape(matrix)[0])
np.random.shuffle(index)
return matrix[index]
どうすればnumpysparseでそれを行うことができますか?
Pythonでスパース行列をシャッフルする簡単な方法はありますか?
これは、非スパース行列をシャッフルする方法です。
index = np.arange(np.shape(matrix)[0])
np.random.shuffle(index)
return matrix[index]
どうすればnumpysparseでそれを行うことができますか?
わかりました、それを見つけました。スパースフォーマットは、プリントアウトでは少し混乱しているように見えます。
index = np.arange(np.shape(matrix)[0])
print index
np.random.shuffle(index)
return matrix[index, :]
誰かがスパース行列から行のサブサンプルをランダムに取得しようとしている場合は、この関連する投稿も役立つ可能性があります:scipy.sparse.csr.csr_matrixとリストからサブサンプリングを行うにはどうすればよいですか?
より良い方法は、CSRマトリックスのインデックスをシャッフルし、マトリックスの行を次のようにフェッチすることです。
from random import shuffle
indices = np.arange(matrix.shape[0]) #gets the number of rows
shuffle(indices)
shuffled_matrix = matrix[list(indices)]