python模塊scipy中的稀疏矩陣

【嵌牛導(dǎo)讀】 本文主要圍繞python模塊scipy中的稀疏矩陣展開

【嵌牛鼻子】scipy?稀疏矩陣

【嵌牛提問】python模塊scipy中的稀疏矩陣是如何存儲的呢?

【嵌牛正文】

參考文章:https://www.cnblogs.com/zhangchaoyang/articles/5483453.html

一:dok_matrix

繼承自dict,key是(row,col)構(gòu)成的二元組,value是非0元素。

優(yōu)點(diǎn):

1.非常高效地添加、刪除、查找元素

2.轉(zhuǎn)換成coo_matrix很快

缺點(diǎn):

1.繼承了dict的缺點(diǎn),即內(nèi)存開銷大

2.不能有重復(fù)的(row,col)

二:coo_matrix


coo_matrix

如上圖,構(gòu)造coo_matrix需要3個等長的數(shù)組,values數(shù)組存放矩陣中的非0元素,row indices存放非0元素的行坐標(biāo),column indices存放非0元素的列坐標(biāo)。

優(yōu)點(diǎn):

1.容易構(gòu)造

2.可以快速地轉(zhuǎn)換成其他形式的稀疏矩陣

3.支持相同的(row,col)坐標(biāo)上存放多個值

缺點(diǎn):

1.構(gòu)建完成后不允許再插入或刪除元素

2.不能直接進(jìn)行科學(xué)計(jì)算和切片操作

三:csr_matrix


csr_matrix

csr_matrix同樣由3個數(shù)組組成,values存儲非0元素,column indices存儲非0元素的列坐標(biāo),row offsets依次存儲每行的首元素在values中的坐標(biāo),如果某行全是0則對應(yīng)的row offsets值為-1。

優(yōu)點(diǎn):

1.高效地按行切片

2.快速地計(jì)算矩陣與向量的內(nèi)積

3.高效地進(jìn)行矩陣的算術(shù)運(yùn)行,CSR + CSR、CSR * CSR等

缺點(diǎn):

1.按列切片很慢(考慮CSC)

2.一旦構(gòu)建完成后,再往里面添加或刪除元素成本很高

四:dia_matrix


dia_matrix

對角線存儲法,按對角線方式存,列代表對角線,行代表行。省略全零的對角線。(從左下往右上開始:第一個對角線是零忽略,第二個對角線是5,6,第三個對角線是零忽略,第四個對角線是1,2,3,4,第五個對角線是7,8,9,第六第七個對角線忽略)。

這里行對應(yīng)行,所以5和6是分別在第三行第四行的,前面補(bǔ)上無效元素*。如果對角線中間有0,存的時候也需要補(bǔ)0。

適用場景:

如果原始矩陣就是一個對角性很好的矩陣那壓縮率會非常高,比如下圖,但是如果是隨機(jī)的那效率會非常糟糕。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 如果將整個稀疏矩陣都存儲進(jìn)入內(nèi)存中的話, 那將會占用相當(dāng)大的空間, 根據(jù)稀疏矩陣中非0元素在矩陣中的分布以及個數(shù),...
    Teci閱讀 4,674評論 2 1
  • 什么是稀疏矩陣? 大多數(shù)元素都是0的矩陣稱為稀疏矩陣,否則稱為稠密矩陣。規(guī)模巨大的稀疏矩陣在應(yīng)用機(jī)器學(xué)習(xí)中很常見,...
    CourageK閱讀 6,296評論 0 2
  • 稀疏矩陣 稀疏矩陣(sparse matrix)是由于矩陣中存在大量0,從而可以采用特別的存儲技巧來壓縮內(nèi)存。由于...
    JxKing閱讀 6,254評論 3 4
  • 7稀疏矩陣 稀疏矩陣是一種特殊類型的矩陣,即矩陣中包括較多的零元素。對于稀疏矩陣的這種特性,在MATLAB中可以只...
    校苑數(shù)模閱讀 2,936評論 0 1
  • nohup command > /dev/null 2>&1 & nohup命令:如果你正在運(yùn)行一個進(jìn)程,而且...
    你好世界12345閱讀 535評論 0 0

友情鏈接更多精彩內(nèi)容