首页 > 解决方案 > 如何压缩非常大的二进制稀疏矩阵

问题描述

我们谈论的矩阵大小为 2M * 500K,其中大约 1% 的元素是True. 如果使用 存储scipy.sparse.csr_matrix,大小约为 90GB。

矩阵一旦构造就不会被修改。它只会按行读取。有什么想法吗?

由于scipy.sparse.csr_matrix使用三个数组(data, indptr, indices)来表示二进制备用矩阵。在我自己的数据结构中,我可以简单地删除data数组,因为我知道所有元素的值都是 1。这将稀疏矩阵的大小减少了一半到 45GB。我怎样才能进一步压缩它?

标签: pythonscipycompressionsparse-matrix

解决方案


推荐阅读