scipy.sparse 一些函数

(1)coo_matrix()

import numpy as np
import scipy.sparse as sp
row = np.array([0,0,1,3])
col = np.array([0,2,1,3])
data = np.array([1,6,3,7])
coo_matrix = sp.coo_matrix((data,(row,col)), shape=(4,4)).toarray()
print(coo_matrix)

结果:

coo_matrix((data, (row, col)), [shape=(M, N)])
啥么意思嘞,就是二维列表,row代表行,col代表列,data里的数据就相当于值,没有指定数据的就是用0来代替了…

优点:

1.不同稀疏格式间转换效率高(exp:CSR/CSC)
2.coo_matrix不支持元素的存取和增删,一旦创建之后,除了将之转换成其它格式的矩阵,几乎无法对其做任何操作和矩阵运算。
3.构建矩阵时,允许坐标重复

缺点:

1.不能直接运算
2.不能直接切片操作

(2)csc_matrix

csc_matrix: 压缩稀疏列矩阵(Compressed sparse column matrix)

优点:

1.高效的矩阵加法与乘法内积运算
2.高效的列切片操作

缺点:

1.矩阵内积操作没有CSR快
2.行切片操作慢(相比CSR)
3.转换成稀疏结构成本高(相比LIL)

(3)lil_matrix


lil_matrix:基于行连接存储的稀疏矩阵(Row-based linked list sparse matrix)
优点:

1.快速按行切片
2.高效地添加、删除、查找元素

缺点:

1.按列切片很慢(建议CSC)
2.算术运算LIL+LIL很慢(考虑CSR或CSC)

(4)dok_matrix()

dok_matrix()函数的功能就是:可以高效地逐渐构造稀疏矩阵。

转化函数

todense([order, out]):返回稀疏矩阵的np.matrix形式
toarray([order, out]):返回稀疏矩阵的np.array形式
tobsr([blocksize, copy]):返回稀疏矩阵的bsr_matrix形式
tocoo([copy]):返回稀疏矩阵的coo_matrix形式
tocsc([copy]):返回稀疏矩阵的csc_matrix形式
tocsr([copy]):返回稀疏矩阵的csr_matrix形式
todia([copy]):返回稀疏矩阵的dia_matrix形式
todok([copy]):返回稀疏矩阵的dok_matrix形式
tolil([copy]):返回稀疏矩阵的lil_matrix形式

官网:scipy

还有一些函数

save_npz(file, matrix[, compressed]):以.npz格式保存稀疏矩阵
load_npz(file):导入.npz格式的稀疏矩阵
find(A):返回稀疏矩阵A中的非零元的位置以及数值

sparse的一些函数相关推荐

  1. MATLAB的full,matlab中sparse和full函数的使用

    sparse函数 功能:创建稀疏矩阵 用法1:S=sparse(X)-将矩阵X转化为稀疏矩阵的形式,即矩阵X中任何零元素去除,非零元素及其下标(索引)组成矩阵S. 如果X本身是稀疏的,sparse(X ...

  2. matlab中sparse和full函数的使用

    sparse函数 功能:创建稀疏矩阵 用法1:S=sparse(X)-将矩阵X转化为稀疏矩阵的形式,即矩阵X中任何零元素去除,非零元素及其下标(索引)组成矩阵S. 如果X本身是稀疏的,sparse(X ...

  3. matlab中的sparse函数使用

    本页对应的英文页面已更新,但尚未翻译. 若要查看最新内容,请点击此处访问英文页面. sparse 创建稀疏矩阵 全页折叠 语法 S = sparse(A) S = sparse(m,n) S = sp ...

  4. torch.sparse稀疏矩阵

    前言 这几天接触图神经网络,会发现有些图的边相对结点比较少,那么邻接矩阵很多元素都为0, 显然,我们可以优化存储策略,以节省内存和加快运算.本文udating- 例子 定义稀疏矩阵 import to ...

  5. TensorFlow学习笔记(二十三)四种Cross Entropy交叉熵算法实现和应用

    交叉熵(Cross-Entropy) 交叉熵是一个在ML领域经常会被提到的名词.在这篇文章里将对这个概念进行详细的分析. 1.什么是信息量? 假设是一个离散型随机变量,其取值集合为,概率分布函数为 p ...

  6. TensorFlow四种Cross Entropy算法实现和应用

    交叉熵介绍 交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小,常见的Loss函数就是均方平方差(Mean Squared Er ...

  7. 干货回顾丨TensorFlow四种Cross Entropy算法的实现和应用

    交叉熵介绍 交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小,常见的Loss函数就是均方平方差(Mean Squared Er ...

  8. 初始化稀疏矩阵 matlab,访问稀疏矩阵 - MATLAB Simulink - MathWorks 中国

    稀疏矩阵运算中的索引 由于稀疏矩阵是以压缩稀疏列格式存储的,因此为稀疏矩阵进行索引的相关成本与为满矩阵进行索引的相关成本不同.在只需更改稀疏矩阵中的若干元素时,这类成本可忽略不计,因此,在这类情况下, ...

  9. scipy实现的共轭梯度法以及相关原理图解

    首先整理下两个概念: Definition:given that u,v∈Rnu,v∈R^nu,v∈Rn,then uuu and vvv are said to be mutually orthog ...

最新文章

  1. 数据库,唯一索引,重复数据处理
  2. 2020-09-17
  3. 开始看 汇编语言程序设计
  4. 自定义按键_雷柏VT300S号称吃鸡鼠标,能够自定义10个编程按键
  5. python作业题目用户输入行数、输出倒的等腰三角形_智慧职教云课堂APPPython程序设计(常州工业职业技术学院)作业期末考试答案...
  6. 野鸡NOI.AC模拟赛【2019.10.26】
  7. 如何通过Maven的Jetty插件运行Web工程
  8. 基因大数据:一面是科技,一面是责任
  9. 实验 5 编写、调试具有多个段的
  10. matlab提示音,matlab发出声音 - osc_45mm6g1p的个人空间 - OSCHINA - 中文开源技术交流社区...
  11. DHML+XML+CSS 技术汇总
  12. CentOS 7, apm+xcache, rpm包, php module
  13. 主板开启网络唤醒_网络唤醒bios详细设置图文教程 | 专业网吧维护
  14. java gps809_车载GPS对接809协议的数据对接
  15. 解决:打开阿里云图片显示下载,而不是直接预览的问题
  16. 毕业设计微信小程序选题
  17. 文献检索报告软件测试,文献检索报告及文献综述.doc
  18. ACO蚁群算法优化BP神经网络(ACO-BPNN)回归预测MATLAB代码(有优化前后的对比)
  19. 造人先于造物——松下幸之助的人才观
  20. 学了3,4年,终于明白了高斯白噪声的那些东西。

热门文章

  1. mysql中explain的使用,mysql使用方法_mysql中explain函数的使用方法
  2. RQNOj26合唱队
  3. 基于QT c++开发的音乐播放器
  4. 性价比高的蓝牙耳机有哪些?国产蓝牙运动耳机排行榜!
  5. 打脸苹果,三星新品电视“国行”售价低于“美版”
  6. np.random.normal()详解
  7. TS+React+Bmap drawingManager setDrawingMode
  8. JUC 高并发编程(13):LockSupport 概述, wait 与 sleep与park的区别
  9. 案例16:Java音乐网站系统设计与实现开题报告
  10. 各种装逼,我痛苦的捂住脸扭向一边!