美文网首页
【Python】稀疏矩阵

【Python】稀疏矩阵

作者: 盐果儿 | 来源:发表于2024-09-05 20:32 被阅读0次

稀疏矩阵(sparse matrix):矩阵中大部分数字为0,因此存储整个矩阵会浪费空间,为了节省内存和提高运算效率,稀疏矩阵采用专门的数据结构来仅存储非零元素及其位置。

为什么要稀疏矩阵?主要是为了“省”。

COO(Coordinate List):用于存储稀疏矩阵的数据结构,存储了坐标和非零元素的值。

CSR(Compressed Sparse Row):说是压缩了行,没看出来??????

COO格式:通过三个一维数组直接存储非零元素的位置和数值,适合构建修改稀疏矩阵。

CSR格式:通过压缩存储行信息,使得行访问矩阵乘法等操作更高效,适合于执行各种矩阵运算。

将一个普通矩阵转化成COO矩阵:

from scipy.sparse import coo_array

A = np.array([ [0, 0, 3], [4, 0, 0], [0, 0, 5]])

Asparse = coo_array(A)

print(Asparse)

# 仅打印data

print(Asparse.data)

# output:

# <COOrdinate sparse array of dtype 'int64' with 3 stored elements and shape (3, 3)>

# Coords Values

# (0, 2) 3

# (1, 0) 4

# (2, 2) 5

将一个普通矩阵转化成CSR矩阵:

import numpy as np

from scipy.sparse import csr_matrix

# 创建一个普通的 NumPy 密集矩阵

dense_matrix = np.array([ [0, 0, 3, 0], [4, 0, 0, 0], [0, 0, 0, 5], [0, 0, 0, 0]])

# 将密集矩阵转换为 CSR 矩阵

csr = csr_matrix(dense_matrix)

# 打印 CSR 矩阵

print(csr)

# output

# <Compressed Sparse Row sparse matrix of dtype 'int64' with 3 stored elements and shape (4, 4)>

# Coords Values

# (0, 2) 3

# (1, 0) 4

# (2, 3) 5

- 仅打印数据

print(a_sparse.data)

- 获取和打印稀疏矩阵中非零元素的索引位置

a_sparse = coo_array(A)

print(a_sparse.nonzero())

相关文章

  • 稀疏矩阵

    对于经过ReLU之后的网络,通常存在很多的0。这时如果用稀疏矩阵来表示,则会节省存储空间,或者带来计算上的便利。稀...

  • 稀疏矩阵

    什么是稀疏矩阵矩阵中有很多零,其中非零元素只是占了一小部分,大部分都是零,这种就叫稀疏矩阵。稀疏矩阵概念没有严格的...

  • 稀疏矩阵

    一、实验目的 二、实验内容 1. 阅读、理解、调试程序3_1.c,掌握稀疏矩阵的压缩存储算法。 2. 阅读、理解、...

  • 稀疏矩阵

    #include #include #define ok 1 #define error 0 #define MA...

  • 稀疏矩阵

    在矩阵中,如果数值为0的元素数目远远多于非0元素的数目,并且非0元素分布无规律时,则称该矩阵为稀疏矩阵(spars...

  • 稀疏矩阵

    1.什么是稀疏矩阵?2.什么时候使用稀疏矩阵? 稀疏矩阵就是就是在一个矩阵的的阵列中大多数都是默认数据0为什么使用...

  • python和R写出表达矩阵为稀疏矩阵matrix.mtx.gz

    python部分 加载读取稀疏矩阵的mmread和构建数据框的pandas 读取10X单细胞矩阵文件: matri...

  • 构建邻接矩阵

    构建邻接矩阵 net = spconvert(linklist);%把外部数据转换为稀疏矩阵 稀疏矩阵 对于矩阵 ...

  • 机器学习中的稀疏矩阵

    什么是稀疏矩阵? 大多数元素都是0的矩阵称为稀疏矩阵,否则称为稠密矩阵。规模巨大的稀疏矩阵在应用机器学习中很常见,...

  • MATLAB稀疏矩阵

    7稀疏矩阵 稀疏矩阵是一种特殊类型的矩阵,即矩阵中包括较多的零元素。对于稀疏矩阵的这种特性,在MATLAB中可以只...

网友评论

      本文标题:【Python】稀疏矩阵

      本文链接:https://www.haomeiwen.com/subject/rqldljtx.html