数据变换-归一化与标准化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据变换-归一化与标准化相关的知识,希望对你有一定的参考价值。
参考技术A一般在机器学习的 模型训练 之前,有一个比较重要的步骤是 数据变换 。
因为,一般情况下,原始数据的各个特征的值并不在一个统一的范围内,这样数据之间就没有 可比性 。
数据变换的目的是 将不同渠道,不同量级的数据转化到统一的范围之内,方便后续的分析处理 。
数据变换的方法有很多,比如 数据平滑,数据聚集,数据概化,数据规范化 和 属性构造 等。
本篇文章主要介绍数据规范化,这是一种比较常用,也比较简单的方法。
数据规范化是 使属性数据按比例缩放,这样就将原来的数值映射到一个新的特定区域中 ,包括 归一化,标准化 等。
归一化就是获取原始数据的最大值和最小值,然后把原始值线性变换到 [0,1] 范围之内,变换公式为:
其中:
从公式中可以看出,归一化与最大最小值有关,这也是归一化的缺点,因为最大值与最小值非常容易受 噪音数据 的影响。
比如,我们有以下数据:
通过数据可以观察出:
这里我们用第一条数据来举例,看看是如何变换的。
sklearn 库的 preprocessing 模块中的 MinMaxScaler 类就是用来做归一化处理的。
首先引入 MinMaxScaler 类:
准备要变换的 data 数据,并初始化 MinMaxScaler 对象:
拟合数据:
输出每个特征的最大最小值:
变换所有数据:
可以对比我们计算的第一行数据,结果是一样的。
z-score 标准化 是基于正态分布的,该方法假设数据呈现 标准正态分布 。
正态分布也叫高斯分布 ,是 连续随机变量 概率分布的一种,它的数学公式是:
其中, u 为 均值 (平均数), σ 为 标准差 。均值和标准差是正态分布的关键参数,它们会决定分布的具体形态。
正态分布有以下特点:
正态分布就是常态分布,正常状态的分布。在现实生活中,大量随机现象的数据分布都近似于正态分布。
正态分布的分布图为:
当 μ 为 0 , σ 为 1 时,正态分布为 标准正态分布 。
图中的百分数表示所在面积占总面积的百分比。
z-score 标准化 利用正态分布的特点, 计算一个给定分数距离平均数有多少个标准差 。它的转换公式如下:
其中 x 为原始值, u 为均值, σ 为标准差, x’ 是变换后的值。
经过 z-score 标准化 后,高于平均数的分数会得到一个正的标准分,而低于平均数的分数会得到一个负的标准分数。
和归一化相比, z-score 标准化 不容易受到噪音数据的影响,并且保留了各维特征对目标函数的影响权重。
sklearn 库的 preprocessing 模块中的 StandardScaler 类就是用来做 z-score 标准化 处理的。
首先引入 StandardScaler 类:
准备要变换的 data 数据,并初始化 StandardScaler 对象:
拟合数据:
输出每个特征的均值和标准差:
变换所有数据:
数据变换的目的是 将不同渠道,不同量级的数据转化到统一的范围之内,方便后续的分析处理 。
不同的机器学习算法,对数据有不同的要求,所以要针对不同的算法,对原始数据进行不同的转换。
数据规范化 是常用的数据变化方法,包括归一化和标准化等:
数据变换不一定能提高模型的准确度,但是会提高数据的可解释性。
需要注意的是,对训练数据进行了数据变换之后,在测试模型准确度或者预测数据之前,也要对数据进行同样的数据变换。
(本节完。)
推荐阅读:
决策树算法-理论篇-如何计算信息纯度
决策树算法-实战篇-鸢尾花及波士顿房价预测
朴素贝叶斯分类-理论篇-如何通过概率解决分类问题
朴素贝叶斯分类-实战篇-如何进行文本分类
计算机如何理解事物的相关性-文档的相似度判断
以上是关于数据变换-归一化与标准化的主要内容,如果未能解决你的问题,请参考以下文章