scipy稀疏矩阵

那些零元素数目远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称为稀疏矩阵(sparse matrix)。
不同类型的矩阵有不同的压缩方式,比如对角矩阵只存储对角元素即可。要想充分压缩,就要找到数据的特点。
压缩算法也有很多种,如:音频压缩算法、视频压缩算法、通用压缩算法。不同压缩算法有不同的使用领域,一般专用领域的压缩算法效率高于通用压缩算法。因为专用领域压缩算法抓住了数据的特点。

本文主要介绍scipy提供的八种稀疏矩阵存储格式。

坐标存储 Coordinate Format (COO)

它使用三个数组进行存储:rows、columns、values,三个数组长度相等。分别表示数组元素的行、列、值。

Diagonal Storage Format (DIA)

对角线矩阵,它由两个数组进行存储:values是一个二维数组,distance是一个一维数组,distance[i]表示对角线相对主对角线的偏移量。values[i][j]表示第i行,相对主对角线偏离distance[j]的那条对角线上的数值。

Compressed Sparse Row Format (CSR)

压缩稀疏行矩阵,它由values、columns、rows三个数组组成。values是一个一维数组,columns是一个和values等长的一维数组,表示values中每个元素所在的列。rows是一个一维数组,rows[i]表示第i行元素在columns和values中的起始位置。rows数组的长度等于行数+1。

CSR的五种构造函数:

  • csr_matrix(D):由稠密矩阵D构造稀疏矩阵
  • csr_matrix(S):由稀疏矩阵S构造系数矩阵,相当于S.tocsr(),S是本文的其它类型的稀疏矩阵
  • csr_matrix((M, N), [dtype]):创建一个M行N列的空的稀疏矩阵
  • csr_matrix((data, (row_ind, col_ind)), [shape=(M, N)]):创建一个M行、N列的系数矩阵,稀疏矩阵的数据由三元组指定
  • csr_matrix((data, indices, indptr), [shape=(M, N)]):根据CSR最直接的参数初始化CSR

Compressed Sparse Column Format (CSC)

压缩稀疏列矩阵,和CSR一样,区别在于它按照列来存储。

Skyline Storage Format

三角矩阵压缩

Block Compressed Sparse Row Format (BSR)

块矩阵压缩

ELLPACK (ELL)

存储values和offset两个矩阵,values[i][j]元素在第i行的偏移用offset[i][j]来表示。

Hybrid (HYB)

混合压缩矩阵,融合了ELL和COO

参考资料

https://blog.csdn.net/pipisorry/article/details/41762945

csr_matrix具体用法

官网文档

转载于:https://www.cnblogs.com/weiyinfu/p/9557696.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值