1. 首页
  2. 综合百科
  3. python数据标准化的含义(什么是数据标准化)

python数据标准化的含义(什么是数据标准化)

简介:关于python数据标准化的含义(什么是数据标准化)的相关疑问,相信很多朋友对此并不是非常清楚,为了帮助大家了解相关知识要点,小编为大家整理出如下讲解内容,希望下面的内容对大家有帮助!
如果有更好的建议或者想看更多关于综合百科技术大全及相关资讯,可以多多关注茶馆百科网。

聚焦百科,带你领略最精彩的世界!每天更新精彩冷知识百科,你不知道的!为你的生活提供更多的帮助和便利。主要内容:

什么是数据标准化?Python中的数据如何标准化?1.z标准化:实现集中化和正态分布;

二、Min-Max:归一化;

三、MaxAbs:最大绝对值标准化;

第四,RobustScaler。

Python实例z值;

最小-最大值;

MaxAbs

鲁棒定标器.

数据标准化是数据预处理中非常重要的一步。在实际应用过程中,我们经常会遇到具有各种特征的数据集,这些数据集往往具有不同的分布模式和区间,以及不同的数量级(维度),这很容易影响我们的模型训练。数据标准化的存在是为了消除规模、特征和分布差异对模型的影响。

另外,将特征标准化后,我们可以将其与权重结合生成新的指标,但原始数据往往不支持我们直接计算权重。

所以今天,我们来看看数据标准化的方法,以及它们是如何在Python中实现的。

标准化:实现集中化和正态分布

Z-Score标准化基于原始数据的均值和标准差,其转换公式为:

其中z是变换后的数据,x是变换前的数据,是整组数据的均值,是整组数据的标准差。

这种方法适用于大多数类型的数据,应用非常广泛。从公式中我们可以看到,经过变换后,均值会变成0,方差和标准差会变成1(考虑方差的公式)。如果这部分你不懂,不妨在笔记本上推理一下。

第二,最小值-最大值:归一化

最小-最大标准化法将原始数据进行线性转换,其转换公式为:

很明显,当x为最大值时,会转换为1;当x为最小值时,对应的新值为0;整组数据将分布在从0到1的范围内,数据的分布模式不会改变。

三、MaxAbs:最大绝对值标准化

在数据科学中,我们经常需要处理稀疏数据,MaxAbs方法对稀疏数据有很好的支持。MaxAbs标准化方法有点类似于Min-Max方法,其公式为:

即每个值除以整组数据的最大绝对值,保留了原始数据的正负属性,使数据落在[-1,1]闭区间内。需要注意的是,先进行绝对值运算,再选择最大值,而不是先选择最大值再求绝对值。看了很多文章,在这里犯了一个错误。比如有一组数据[-0.01,-1,-2]。如果先取最大值再取绝对值,别说归一化了,数据简直入地。

第四,鲁棒定标器

有时候,数据中会有异常值(离群值)。这时候如果用z-score标准化,数据就很容易失去离群特征。这时候可以使用RobustScaler方法,对于数据中心化和数据缩放鲁棒性的参数调整能力更强。

Python实例

多说无益。让我们导入必要的库和iris数据集,并进行一些必要的设置。

import numpy as NP import pandas as PD from sk learn import预处理import matplotlib . py plot as pltim import matplotlib as mpl import seaborn as SNS from seaborn import load _ datasetsns . set()mpl . RC params[' font . family ']=' sans-serif ' mpl . RC params[' font . sans-serif ']=' sim hei ' iris=load _ dataset(' iris ')。drop('species 'axis=1)iris.head()

让我们首先观察前两列数据的原始分布:

sns.jointplot(data=iris,x='萼片_长度'y='萼片_宽度');

z分数

我们先来演示一下Z标准化。

z_scaler=预处理。standard scaler()iris _ z=z _ scaler . fit _ transform(iris)iris _ z=PD。data frame(iris _ z)SNS . jointplot(data=iris _ z,x=0,y=1);

可以看出,数据分布格局变化不大,但数据围绕0轴收敛。

让我们看看转换数据的均值和标准差:

可以看出,虽然有一点误差(量级很小),但数据基本符合均值为0,标准差为1。

最小-最大标准化

p> 然后是Min-Max归一化方法:

mm_scaler = preprocessing.MinMaxScaler()iris_mm = mm_scaler.fit_transform(iris)iris_mm = pd.DataFrame(iris_mm)sns.jointplot(data=iris_mm,, x=0, y=1);

这次我们在保持原有数据分布特性的同时,将数据收敛到了0到1之间。

MaxAbs标准化

ma_scaler = preprocessing.MaxAbsScaler()iris_ma = ma_scaler.fit_transform(iris)iris_ma = pd.DataFrame(iris_ma)sns.jointplot(data=iris_ma,, x=0, y=1);

由于iris数据集里没有负值,所以这里不能体现出[-1,1]的数据范围。我们为数据增加一些负值来看看:

iris_ma = pd.concat([iris_ma, iris_ma.applymap(lambda x: -x)])sns.jointplot(data=iris_ma,, x=0, y=1);

果然是[-1,1]呢,不过我们这里的操作只是为了演示,没有额外的意义。

RobustScaler

r_scaler = preprocessing.RobustScaler()iris_r = ma_scaler.fit_transform(iris)iris_r = pd.DataFrame(iris_r)sns.jointplot(data=iris_r,, x=0, y=1);

嗯……看起来跟MaxAbs没什么区别,这是因为这里不存在什么异常值。这个就留给你们自己来练习一下了!

以上是使用sklearn提供的标准化工具进行数据标准化的操作,事实上,我们也完全可以自己创造一些标准化工具,实际操作起来并不难哦,大家可以尝试一下。

, 看世界关注百科大全世界,提供各种知识,包括生活知识、历史知识、地理知识、网络知识等百科知识。

本文主要介绍了关于python数据标准化的含义(什么是数据标准化)的相关养殖或种植技术,综合百科栏目还介绍了该行业生产经营方式及经营管理,关注综合百科发展动向,注重系统性、科学性、实用性和先进性,内容全面新颖、重点突出、通俗易懂,全面给您讲解综合百科技术怎么管理的要点,是您综合百科致富的点金石。
以上文章来自互联网,不代表本人立场,如需删除,请注明该网址:http://seotea.com/article/1389120.html