前言

在图神经网络的代码中我们经常会对稀疏矩阵进行归一化。下面代码以归一化为例。


1.引入库

代码如下(示例):

import numpy as np
import scipy.sparse as sp

2.Row-normalize sparse matrix

代码如下(示例):

def normalize(mx):'''Row-normalize sparse matrix'''# 矩阵行求和rowsum = np.array(mx.sum(1))# 求和的-1次方r_inv = np.power(rowsum.astype(float), -1).flatten()# 如果是inf,转换成0r_inv[np.isinf(r_inv)] = 0# 构建对角形矩阵r_mat_inv = sp.diags(r_inv)# 构造D-I*A, 非对称方式, 简化方式mx = r_mat_inv.dot(mx)return mx

示例:

mx = sp.csr_matrix([[0,1,0,1],[0,0,0,1],[1,0,0,1],[0,1,0,0]])
print(mx.A)
print(normalize(mx.A))
(DB-chun) C:\Users\渺渺夕\Desktop\GNN_learning>D:/Anaconda3/envs/DB-chun/python.exe c:/Users/渺渺夕/Desktop/GNN_learning/pygcn/utility.py
tensor([[0., 1., 0., 1.], [0., 0., 0., 1.], [1., 0., 0., 1.], [0., 1., 0., 0.]])
[[0.  0.5 0.  0.5] [0.  0.  0.  1. ] [0.5 0.  0.  0.5] [0.  1.  0.  0. ]]

注:
ValueError: Integers to negative integer powers are not allowed.
在power时,如果你的矩阵不是浮点型会报错

对稀疏矩阵进行归一化相关推荐

  1. 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化

    20220121 z-score标准化 模型存储和load再调用其实没有关系 再load计算的时候,也是以实际的数据重新计算 并不是以save模型的边界来计算的 20211227 onehot训练集保 ...

  2. 【机器学习】 - 数据预处理之数据归一化(标准化)与实战分析,正则化

    一.为什么要进行数据归一化 定义:把所有数据的特征都归到 [0,1] 之间 或  均值0方差1 的过程. 原则:样本的所有特征,在特征空间中,对样本的距离产生的影响是同级的: 问题:特征数字化后,由于 ...

  3. 卷积在计算机中实现+pool作用+数据预处理目的+特征归一化+理解BN+感受野理解与计算+梯度回传+NMS/soft NMS

    一.卷积在计算机中实现 1.卷积 将其存入内存当中再操作(按照"行先序"): 这样就造成混乱. 故需要im2col操作,将特征图转换成庞大的矩阵来进行卷积计算,利用矩阵加速来实现, ...

  4. matlab 归一化_MATLAB主成分PCA人脸识别深度解析(一)

    前言:人脸识别是一个很经典的课题,围绕它可以做成很多实际应用,比如教室人脸考勤,人脸门禁系统,无人超市购物系统,刷脸支付系统等等.可是,为什么这一切是靠什么进行匹配人脸的呢,怎么那么神奇呢.人脸识别的 ...

  5. 数据预处理之归一化/标准化/正则化/零均值化

    数据预处理之归一化/标准化/正则化/零均值化 一.标准化(Standardization) 二.归一化(Normalization) 三,中心化/零均值化 (Zero-centered) 四.正则化 ...

  6. (染色归一化)病理图像(HE或者WSI)图像标准化方法小介绍

    更新 有朋友和我说Vahadane这个方法运行的时候有点慢.确实是不快,但对于很多更优的方法来说,已经是比较快的了.但确实比Macehko和Reinhard这种方法要慢不少.因为求非负矩阵求解的时候是 ...

  7. python scale标准化函数_归一化与标准化

    (一) 特征缩放定义特征缩放是用来统一资料中的自变项或特征范围的方法,在资料处理中,通常会被使用在资料前处理这个步骤.因为在原始的资料中,各变数的范围大不相同. (二) 特征缩放的目的对于大多数的机器 ...

  8. OpenCV——归一化

    normalize void normalize( InputArray src, InputOutputArray dst, double alpha = 1, double beta = 0,in ...

  9. python矩阵归一化方法_python之sklearn常见数据预处理归一化方式解析

    标签: 标准归一化 归一化到均值为0,方差为1 sklearn.preprocessing.scale函数:Standardize a dataset along any axis 先贴出主要的源码, ...

最新文章

  1. 阿里巴巴Web前端面试的一道JS题目,求解答!!!
  2. python struct模块_python struct 模块
  3. flink的web ui中五颜六色的方块是什么意思?
  4. 当电压放大电路的开路增益和输出电阻固定后_晶体管放大电路的性能分析与应用...
  5. 消息中间件学习总结(7)——RocketMQ之万亿级数据洪峰下的分布式消息引擎
  6. 嵌入式工程师有发展前途吗?这是我看过最靠谱的回答
  7. 简单的学习一下node吧——还在学习中~~~
  8. Hive from_unixtime函数入门
  9. Java课堂作业-------参数求和
  10. return 0在c语言中是什么意思_单次T+0与蓝筹股试点T+0制度是什么意思,两者有何区别?...
  11. 181006扇贝有道每日一句
  12. mysql 数据库后缀名,mysql 数据库文件扩展名
  13. 解决Tomcat在cmd乱码问题
  14. [乱七八糟]《进化论——人类科学史上最大的谎言》
  15. nape.dynamics.InteractionFilter
  16. 知道两点坐标,怎么计算两点方向的方位角
  17. AC Leetcode 290. 单词规律
  18. 第八章 STM32+SGP气体传感器+DHT11温湿度传感器+OLED模块显示室内温湿度、二氧化碳和甲醛浓度
  19. 系统日志Logrotate配置
  20. 最近把beecloud,芝麻信用,智能门锁接入了系统。闲下来把遇到的一些坑排下,也能给后人一些指导

热门文章

  1. flask之REDIS+Dplayer消息队列实现电影弹幕
  2. NetStream学习笔记(手写版)
  3. 【21】面向流水线的指令设计(下):奔腾4是怎么失败的?
  4. 机器学习笔记:神经网络层的各种normalization
  5. mongodb极速安装及基础操作命令
  6. python 导入 包,模块,类,函数
  7. 对list取交集,生成新的list
  8. 关于事件及定时器的清除方法
  9. React组件开发-仿哔哩哔哩移动端首页
  10. 想谈甜甜的恋爱时,可以用Python来绘画唯美的飘落银杏树来安抚自己