我有一个来自 sklearn 词袋矢量化器的稀疏矩阵。它是一个 csr_matrix,它的元素代表文档中的词频。但是现在我需要的是 0/1 矩阵,其中 1 代表文档中存在的单词,所以我不关心实际频率。忽略背景问题,是这样的:我有一个稀疏矩阵,
2 3 4 0 0 0
0 0 0 0 0 8
0 0 0 2 0 0
0 0 0 0 0 0
我希望所有非零元素都为 1,
1 1 1 0 0 0
0 0 0 0 0 1
0 0 0 1 0 0
0 0 0 0 0 0
我怎样才能做到这一点?我假设使用 todense() 然后循环不是一个好的选择,因为稀疏矩阵很大。有没有更好的办法?