Python数据标准化、归一化

在进行数据分析或者机器学习时,通常需要对数据进行预处理,其中主要的步骤就是数据标准化/归一化。

常用的数据标准化和归一化方法主要有:

1. 最大最小标准化

  y=(x-min(x))/(max(x)-min(x)),x为一序列,即x={x1,x2,x3......},max(x)为最大值,min(x)为最小值

2. z-score标准化

  y=(x-mean(x))/std(x),mean(x)指的是均值,std(x)指的是标准差,结果会形成均值为0,方差为1的序列

3. 直接归一化

  y=x/sum(x),sum(x)指的是x序列的和

其中,Python实现 z-score的方法如下:

import numpy as npaa = np.array([2,3,9,6,8])
bb = np.array([5,6,3,7,9])
cc = np.array([aa, bb])
print(cc)

cc_mean = np.mean(cc, axis=0)  #axis=0,表示按列求均值 ——— 即第一维,每一列可看做一个维度或者特征
cc_std = np.std(cc, axis=0)
cc_zscore = (cc-cc_mean)/cc_std   #直接计算,对数组进行标准化,一定要注意维度

同时,scikit-learn也集成了z-score标准化的方法:

from sklearn.preprocessing import StandardScaler

scaler = StandardScaler()
#scaler.fit(cc)
#trans_data_2 = scaler.transform(cc)
cc_zscore_sk = scaler.fit_transform(cc)  #与上面numpy的计算结果一致

Python实现最大最小标准化的代码也很简单:

cc_min_max = (cc-np.min(cc, axis=0))/(np.max(cc, axis=0)-np.min(cc, axis=0))

或者使用sklearn包:

from sklearn.preprocessing import MinMaxScaler
cc_min_max = MinMaxScaler().fit_transform(cc)

##

注:pandas同样可以类似实现。

参考:

https://www.jianshu.com/p/fa73a07cd750

https://blog.csdn.net/qq_38958113/article/details/98050932

原文地址:https://www.cnblogs.com/qi-yuan-008/p/12608006.html

时间: 2024-07-30 12:49:06

Python数据标准化、归一化的相关文章

转:数据标准化/归一化normalization

转自:数据标准化/归一化normalization 这里主要讲连续型特征归一化的常用方法.离散参考[数据预处理:独热编码(One-Hot Encoding)]. 基础知识参考: [均值.方差与协方差矩阵] [矩阵论:向量范数和矩阵范数] 数据的标准化(normalization)和归一化 数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较

机器学习数据预处理——标准化/归一化方法总结

通常,在Data Science中,预处理数据有一个很关键的步骤就是数据的标准化.这里主要引用sklearn文档中的一些东西来说明,主要把各个标准化方法的应用场景以及优缺点总结概括,以来充当笔记. 首先,我要引用我自己的文章Feature Preprocessing on Kaggle里面关于Scaling的描述 Tree-based models doesn't depend on scaling Non-tree-based models hugely depend on scaling 一

数据标准化(归一化)处理

数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和 量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性.原始数据经过数据标准 化处理后,各指标处于同一数量级,适合进行综合对比评价.以下是两种常用的归一化方法: 一.min-max标准化(Min-Max Normalization) 也称为离差标准化,是对原始数据的线性变换,使结果值映射到[0 - 1]之间.转换函数如下: 其中max为样本数据的

数据标准化方法及其Python代码实现

数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.目前数据标准化方法有多种,归结起来可以分为直线型方法(如极值法.标准差法).折线型方法(如三折线法).曲线型方法(如半正态性分布).不同的标准化方法,对系统的评价结果会产生不同的影响,然而不幸的是,在数据标准化方法的选择上,还没有通用的法则可以遵循. 常见的方法有:min-max标准化(Min-max normalization),log函数转换,atan函数转换,z-score标准化(zero-mena n

python data analysis | python数据预处理(基于scikit-learn模块)

原文:http://www.jianshu.com/p/94516a58314d Dataset transformations| 数据转换 Combining estimators|组合学习器 Feature extration|特征提取 Preprocessing data|数据预处理 1 Dataset transformations scikit-learn provides a library of transformers, which may clean (see Preproce

sklearn.preprocessing.StandardScaler数据标准化

原文链接:https://blog.csdn.net/weixin_39175124/article/details/79463993 数据在前处理的时候,经常会涉及到数据标准化.将现有的数据通过某种关系,映射到某一空间内.常用的标准化方式是,减去平均值,然后通过标准差映射到均至为0的空间内.系统会记录每个输入参数的平均数和标准差,以便数据可以还原. 很多ML的算法要求训练的输入参数的平均值是0并且有相同阶数的方差例如:RBF核的SVM,L1和L2正则的线性回归 sklearn.preproce

为什么一些机器学习模型需要对数据进行归一化?

为什么一些机器学习模型需要对数据进行归一化? http://www.cnblogs.com/LBSer/p/4440590.html 针对这个问题参考了wiki的解释:http://en.wikipedia.org/wiki/Feature_scaling.“归一化后有两个好处:1)归一化后加快了梯度下降求最优解的速度:2)归一化有可能提高精度”. 1 归一化为什么能提高梯度下降法求解最优解的速度? 斯坦福机器学习视频做了很好的解释:https://class.coursera.org/ml-0

[转] [机器学习] 常用数据标准化(正则化)的方法

数据正则化 目的:为了加快训练网络的收敛性,可以不进行归一化处理 源地址:http://blog.sina.com.cn/s/blog_8808cae20102vg53.html 而在多指标评价体系中,由于各评价指标的性质不同,通常具有不同的量纲和数量级.当各指标间的水平相差很大时,如果直接用原始指标值进行分析,就会突出数值较高的指标在综合分析中的作用,相对削弱数值水平较低指标的作用.因此,为了保证结果的可靠性,需要对原始指标数据进行标准化处理. 目前数据标准化方法有多种,归结起来可以分为直线型

数据的归一化处理

数据的标准化(normalization)和归一化 数据的标准化 数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间.在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权. 目前数据标准化方法:直线型方法(如极值法.标准差法).折线型方法(如三折线法).曲线型方法(如半正态性分布).不同的标准化方法,对系统的评价结果会产生不同的影响,然而不幸的是,在数据标准化方法的选择上,还没有通用的