本篇文章小编给大家分享一下Python3常用数据标准化代码方法解析,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
数据标准化是机器学习、数据挖掘中常用的一种方法。包括我自己在做深度学习方面的研究时,数据标准化是最基本的一个步骤。
数据标准化主要是应对特征向量中数据很分散的情况,防止小数据被大数据(绝对值)吞并的情况。
另外,数据标准化也有加速训练,防止梯度爆炸的作用。
下面是从李宏毅教授视频中截下来的两张图。
左图表示未经过数据标准化处理的loss更新函数,右图表示经过数据标准化后的loss更新图。可见经过标准化后的数据更容易迭代到最优点,而且收敛更快。
一、[0, 1] 标准化
[0, 1] 标准化是最基本的一种数据标准化方法,指的是将数据压缩到0~1之间。
标准化公式如下
代码实现
def MaxMinNormalization(x, min, max): """[0,1] normaliaztion""" x = (x - min) / (max - min) return x
或者
def MaxMinNormalization(x): """[0,1] normaliaztion""" x = (x - np.min(x)) / (np.max(x) - np.min(x)) return x
二、Z-score标准化
Z-score标准化是基于数据均值和方差的标准化化方法。标准化后的数据是均值为0,方差为1的正态分布。这种方法要求原始数据的分布可以近似为高斯分布,否则效果会很差。
标准化公式如下
下面,我们看看为什么经过这种标准化方法处理后的数据为是均值为0,方差为1
代码实现
def ZscoreNormalization(x, mean_, std_): """Z-score normaliaztion""" x = (x - mean_) / std_ return x
或者
def ZscoreNormalization(x): """Z-score normaliaztion""" x = (x - np.mean(x)) / np.std(x) return x
放置地产商手游
放置地产商是一款休闲类经营养成游戏,这款游戏的画面风格精致简
创意甜品屋最新版
创意甜品屋是一款非常有趣的模拟经营手游,精美的卡通画面,趣味
北宋打工人最新版
北宋打工人是一款带有浓郁北宋以及经典电视剧《武林外传》元素的
动物收容所模拟器手游
动物收容所模拟器是一款动物救治模拟类小游戏,玩家在里面可以去
放置水上乐园手游(Idle Aquapark)
放置水上乐园是一款具有浓浓夏日气息的休闲经营类小游戏,玩家作