美文网首页
2018-04-30 开胃学习数学系列 - 稀疏矩阵

2018-04-30 开胃学习数学系列 - 稀疏矩阵

作者: Kaiweio | 来源:发表于2018-05-01 02:03 被阅读0次

对于那些零元素数目远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称为稀疏矩阵(sparse)

當我們在做資料檢索時,如tf-idf、term count中,會發現這些matrix中只含有少量的非0數值,若document、word數量及大時,將其矩陣完整的存下來會導致Memory占用過多,甚至不夠。
此時便可以使用稀疏矩陣,不將0數值也存下來。
使用numpy的lil_matrix配合tocsr,進行一系列運作

u = empty((100 + 1, 100))
A = sparse.lil_matrix(100,100)
print(A.data)


A = sparse.lil_matrix((4, 4))
A[0, 0] = 1
A[1, 2] = 1
A[1, 3] = 2
A[2, 3] = 1
print(A.data)
print(A.rows)

# lil_matrix.data : 每個row中非0之值(column 0 至 column n)
# lil_matrix.rows : 為每個row中非0之值,其位置的column值(column 0 至 column n) 

B = A.tocsr()
print(B.data)
print(B.indices)
print(B.indptr)

#tocsr().data : row-major,非0之值
#tocsr().indices : row-major,其值非0之column位置
#tocsr().indptr : 從0開始,row-major,包含其row及其之前row,累計的非0數值總數 
[list([100])]
[list([1.0]) list([1.0, 2.0]) list([1.0]) list([])]
[list([0]) list([2, 3]) list([3]) list([])]
[1. 1. 2. 1.]
[0 2 3 3]
[0 1 3 4 4]

相关文章

  • 2018-04-30 开胃学习数学系列 - 稀疏矩阵

    对于那些零元素数目远远多于非零元素数目,并且非零元素的分布没有规律的矩阵称为稀疏矩阵(sparse) 當我們在做資...

  • 机器学习中的稀疏矩阵

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

  • 数学基础

    数学基础代数比如矩阵的SVD、QR分解,矩阵逆的求解,正定矩阵、稀疏矩阵等特殊矩阵的一些处理方法和性质等等。大学的...

  • 稀疏矩阵

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

  • 稀疏矩阵

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

  • 稀疏矩阵

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

  • 稀疏矩阵

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

  • 稀疏矩阵

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

  • 稀疏矩阵

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

  • 构建邻接矩阵

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

网友评论

      本文标题:2018-04-30 开胃学习数学系列 - 稀疏矩阵

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