【发布时间】:2017-10-17 22:01:29
【问题描述】:
在 python 中获取 sparse.csr_matrix 矩阵的中位数(沿行和列)的最佳方法是什么?
PS:webpage 没有任何中位数的功能
【问题讨论】:
-
把它改成稠密的。
-
很抱歉我在电话中的神秘评论。稀疏矩阵适用于可以表示为矩阵运算的运算。它甚至将它用于行总和和索引。但是对行的迭代很慢。如果您必须使用稀疏格式,请将您的矩阵转换为
lil并向我们展示如何找到每个行列表的中位数。 -
np.median(M.A, axis=0)对于一个合理稀疏的矩阵很可能全为 0。也就是说,一行中的大多数元素都是 0,中间的元素(在排序列表中)可能是 0。 -
我认为最后一条评论很重要:如果中位数不为0;应该考虑稀疏比率:我真的想使用稀疏垫吗? (并不是说不可能在从稀疏矩阵复杂度方面获得的稀疏向量上加速中值计算;但在实践中可能只会为巨大的维度带来回报)
标签: python numpy scipy sparse-matrix median