数据标准化

数据标准化

在数据分析之前,我们通常需要先将数据标准化,利用标准化后的数据进行数据分析。

数据标准化的常用方法有三种“最小-最大标准化”(也叫离差标准化)、“Z-score标准化”和“按最小数定标标准化”

最小-最大标准化

y = ( X − X m i n ) / ( X m a x − X m i n ) y=(X-Xmin)/(Xmax-Xmin) y=(XXmin)/(XmaxXmin)

优点:有效消除量纲(量纲是指物理量的基本属性),将数据有效的映射到[0,1]区间,能够实现不同数据之间的比较

缺点:当数据明显集中到某个值上时,转换后的数据将会集中到0数据点,数据将无法用于后续比较。

import pandas as pd
def deal(data):
    data=(data-data.min())/(data.max()-data.min())
    return data
d_f1=pd.Series([1,2,3,4,5,6])
d_f2=pd.Series([7,7,8,9,10,11])
print(deal(d_f1))
print(deal(d_f2))

0    0.0
1    0.2
2    0.4
3    0.6
4    0.8
5    1.0
dtype: float64
0    0.00
1    0.00
2    0.25
3    0.50
4    0.75
5    1.00
dtype: float64

Z-score标准化

又叫“标准差标准化”、“零均值标准化”,Z分数标准化方法,该方法使用表较简单,使用范围较离差标准化更为广泛,具体公式如下:
y = ( x − x ‾ ) / δ y=(x-\overline{x})/\delta y=(xx)/δ
分子是(数据-均值),分母是标准差

def std_ch(data):
    data=(data-data.mean())/data.std()
    return data
print(std_ch(d_f1))
print(std_ch(d_f2))
0   -1.336306
1   -0.801784
2   -0.267261
3    0.267261
4    0.801784
5    1.336306
dtype: float64
0   -1.020621
1   -1.020621
2   -0.408248
3    0.204124
4    0.816497
5    1.428869
dtype: float64

按小数定标标准化

通过移动小数的小数点,将数据映射到[0,1]区间内。
y = x / 1 0 j y=x/10^j y=x/10j
x为数值,j为适合的指数参数(能过够将x映射到[0,1]的指数参数)

-------感jio还有可以完善的地方,之后遇到了完善----------------
今天又是夹缝中学习数据分析的一天==!加油!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值