特征工程-数据标准化的两种方式

1.数据标准化含义:

将数据的数值特征转换成一些标准的格式,使其与其他属性处于相同的范围内,此过程叫标准化(Normalization)

2.两种方式

有两种常用的标准化技术:

2.1Min-Max Normalization

最大最小标准化(Min-Max Normalization):这个过程使得特征的范围在[0,1]内。首先计算每个数值特征的最小值和最大值,然后对特征的每个值均进行以下变换。X是数据,min和max分别对应数据里面的最值。
在这里插入图片描述

一维数据的代码实现:

from sklearn import preprocessing
import  pandas
data={'price':[492,286,487,519,541,429]}#用字典来存放数据
price_frame=pandas.DataFrame(data)#把字典类型转化为dataframe对象
min_max_normalizer=preprocessing.MinMaxScaler(feature_range=(0,1))
#feature_range设置最大最小变换值,默认(0,1)
scaled_data=min_max_normalizer.fit_transform(price_frame)
#将数据缩放(映射)到设置固定区间
price_frame_normalized=pandas.DataFrame(scaled_data)
#将变换后的数据转换为dataframe对象
print(price_frame_normalized)

二维数据的代码实现:

data = np.array([[ -3., 5., 15 ],
              [  0., 6., 14 ],
              [  6., 3., 11 ]])   #3*3
print(data)
price_frame=pandas.DataFrame(data)#把字典类型转化为dataframe对象
min_max_normalizer=preprocessing.MinMaxScaler(feature_range=(0,1))
#feature_range设置最大最小变换值,默认(0,1)
scaled_data=min_max_normalizer.fit_transform(price_frame)
#将数据缩放(映射)到设置固定区间
price_frame_normalized=pandas.DataFrame(scaled_data)
#将变换后的数据转换为dataframe对象
print(price_frame_normalized)

可以看出结果是按照每一列的数据来算的而不是所有数据一起

[[-3.  5. 15.]
 [ 0.  6. 14.]
 [ 6.  3. 11.]]
          0         1     2
0  0.000000  0.666667  1.00
1  0.333333  1.000000  0.75
2  1.000000  0.000000  0.00

2.2Z-Score Normalization

Z-分数标准化(Z-Score Normalization):当数据包含离群值时,最大最小标准化并不是首选。在存在离群值的情况下,随着数据范围的增加,数值将不断接近零。Z-Score常用于标准化技术。Z-Score遵循统计学原理,使数据平均值为0,标准差为1。
在这里插入图片描述
一维数据的代码实现:

from sklearn import preprocessing
import pandas
data={'price':[492,286,487,519,541,429]}#用字典来存放数据
price_frame=pandas.DataFrame(data)#把字典类型转化为dataframe对象
normalizer=preprocessing.scale(price_frame)
#沿着某个轴标准化数据集,以均值为中心,以分量为单位方差
price_frame_normalized=pandas.DataFrame(normalizer,columns=['price'])
#将标准化的数据转换为dataframe对象,将列名改为price
print(price_frame_normalized)

ref:参看博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值