8

我想使用稀疏矩阵来表示 BOW 特征。我已经尝试过来自 scipy 的 coo_matrix,但它似乎不支持我想要做的事情:

我想初始化一个全为零的矩阵,然后在适当的时候将给定的条目更改为一个。但是,当我尝试按照我的想法索引矩阵时——例如 myMatrix[0][0] = 1(甚至 myMatrix[0][0][0] =1)——它会更改所有值连续到 1。我只想输入一个条目 1。

我可以使用 numpy 矩阵轻松做到这一点,但我想使用稀疏矩阵来提高空间效率。

4

1 回答 1

4

使用正确的sparse类型会有所帮助。

from scipy import sparse
M = sparse.lil_matrix((10,10))
M[1,1] = 1
M[5,5] = 1
# <10x10 sparse matrix of type '<type 'numpy.float64'>'
#   with 2 stored elements in LInked List format>

dok也有效。 csr建议使用lil. 'coo' 不能这样设置。一旦填写,很容易转换为另一种格式。

于 2013-10-31T02:10:09.620 回答