数据标准化 - scale() - Python代码

版权声明:转载请联系作者,获得允许后,添加链接及作者到页首 https://blog.csdn.net/weixin_40683253/article/details/85338545

标准化

去均值,方差规模化

数据分析的过程中,比如线性规划这一类的分析,如果有些特征的数值远远高于或低于其他数值,通常称之为独立点、异常值或噪点,那么对于受噪点影响较大的模型就无法正确地去学习其他特征。

Standardization标准化:将特征数据的分布调整成标准正太分布,也叫高斯分布,过程为两步:去均值的中心化(均值变为0);方差的规模化(方差变为1)。
在sklearn.preprocessing中有一个scale方法,可以实现数据标准化,该方法默认按照列进行标准化。

from sklearn import preprocessing
import numpy as np

x = np.array([[1., -1., 2., 3.],
              [2., 0., 0., -2],
              [0., 1., -1., 0],
              [1., 2., -3., 1]])

print("标准化之前的方差:", x.mean(axis=0))
print("标准化之前的标准差:", x.std(axis=0))

#标准化
x_scale = preprocessing.scale(x)
print("\n------------------\n标准化结果:\n", x_scale)
print("\n标准化之后的方差:", x_scale.mean(axis=0))
print("标准化之后的标准差:", x_scale.std(axis=0))
运行结果:

标准化之前的方差: [ 1. 0.5 -0.5 0.5]
标准化之前的标准差: [0.70710678 1.11803399 1.80277564 1.80277564]

标准化结果:
[[ 0. -1.34164079 1.38675049 1.38675049]
[ 1.41421356 -0.4472136 0.2773501 -1.38675049]
[-1.41421356 0.4472136 -0.2773501 -0.2773501 ]
[ 0. 1.34164079 -1.38675049 0.2773501 ]]

标准化之后的方差: [0. 0. 0. 0.]
标准化之后的标准差: [1. 1. 1. 1.]

数据归一化 MinMaxScaler()/MaxAbsScaler() 文章链接

猜你喜欢

转载自blog.csdn.net/weixin_40683253/article/details/85338545