python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python数据标准化

python三种数据标准化方式

作者:DB_UP

这篇文章主要介绍了python三种数据标准化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python三种数据标准化

数据变换是数据准备的重要环节,它通过数据平滑数据聚集数据概化规范化 等方式将数据转换成适用于数据挖掘的形式。

常见的变换方法:

在这些变换方法中,最简单易用的就是对数据进行规范化处理。下面我来给你讲下如何对数据进行规范化处理。

1、Min-max 归一化

Min-max规范化方法是将原始数据变换到[0,1]的空间中。

用公式表示就是:

新数值=(原数值-极小值)/(极大值-极小值)。

2、Z-Score标准化

我们定义:

新数值=(原数值一均值)/标准差。

3、小数定标规范化

小数定标规范化就是通过移动小数点的位置来进行规范化。

小数点移动多少位取决于属性A的取值中的最大绝对值。

举个例子:

Python的SciKit-Learn库使用

from sklearn import preprocessing 
import numpy as np
#初始化数据,每一行表示一个样本,每一列表示一个特征
x=np.array([[0.,-3.,1.],
            [3.,1.,2.],
            [0.,1.,-1.]])
#将数据进行[0,1]规范化
min_max_scaler=preprocessing.MinMaxScaler()
minmax_x=min_max_scaler.fit_transform(x)
print (minmax_x)
from sklearn import preprocessing 
import numpy as np
#初始化数据
x=np.array([[0.,-3.,1.],
            [3.,1.,2.],
            [0.,1.,-1.]])
#将数据进行Z-Score规范化
scaled_x=preprocessing.scale(x)
print (scaled_x)
from sklearn import preprocessing 
import numpy as np
#初始化数据
x=np.array([[0.,-3.,1.],
            [3.,1.,2.],
            [0.,1.,-1.]])
#小数定标规范化
j=np.ceil(np.log10(np.max(abs(x)))
scaled_x=X/(10**j)
print (scaled_x)

4、归一化和标准化的区别和联系

区别:

联系:

5、使用情形:

什么时候用归一化?什么时候用标准化?

(1)如果对输出结果范围有要求,用归一化。

(2)如果数据较为稳定,不存在极端的最大最小值,用归一化。

(3)如果数据存在异常值和较多噪音,用标准化,可以间接通过中心化避免异常值和极端值的影响。

6、哪些模型必须归一化/标准化?

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文