dokマトリックスを保存して、後で再度ロードするにはどうすればよいですか?
import scipy.sparse as sp
mat = sp.dok_matrix((df.shape[0], len(df['itemid'].unique())), dtype=np.float32)
for buyerid, itemid in zip(df['buyerid'], df['itemid']):
mat[buyerid, itemid] = 1.0
# my try
sp.save_npz('/content/gdrive/My Drive/train_matrix.npz', mat)
.
.
.
# Loading the dok matrix
train_mat = sp.load_npz('spotify_train_matrix.npz')
エラー
/usr/local/lib/python3.6/dist-packages/scipy/sparse/_matrix_io.py in save_npz(file, matrix, compressed)
69 arrays_dict.update(row=matrix.row, col=matrix.col)
70 else:
---> 71 raise NotImplementedError('Save is not implemented for sparse matrix of format {}.'.format(matrix.format))
72 arrays_dict.update(
73 format=matrix.format.encode('ascii'),
NotImplementedError: Save is not implemented for sparse matrix of format dok.
誰かが私が作成しているdokマトリックスを保存してロードするのを手伝ってくれませんか?
お気づきのように、できません。しかし、上のメモ
dok_matrix
いう:そして
coo_matrix
で保存をサポートしますscipy.sparse.save_npz
。だから私はで変換することをお勧めします.tocoo()
そして保存します。ロード後に元に戻すことができます(必要に応じて)。