5.3 标准化数据

5.3.1 离差标准化 MinMaxScaler

  离差标准化是对原始数据的一种线性变换,结果是将原始数据的数值映射到[0,1]区间之间,转换公式为
在这里插入图片描述
  其中max为样本数据的最大值,min为样本数据的最小值,max-min为极差。离差标准化保留了原始数据值之间的联系,是消除量纲和数据取值范围影响最简单的方法。

import pandas as pd
detail = pd.read_csv('F:/书籍/Python数据分析与应用/
37304_Python数据分析与应用_源代码和实验数据/第5章/data/detail.csv',
                     encoding='gbk')
# print(detail)
# 自定义离差标准化函数
def MinMaxScale(data):
    data = (data - data.min()) / (data.max() - data.min())
    return data

# 对菜单订单表售价和销量做离差标准化
d1 = MinMaxScale(detail['counts'])
d2 = MinMaxScale(detail['amounts'])
d3 = pd.concat([d1, d2], axis=1)
print(detail[['counts', 'amounts']].head())
print(d3.head())

在这里插入图片描述

  从运行结果可以发现,数据的整体分布情况并不会随离差标准化而发生改变,原先取值较大的数据,在做完离差标准化后的值依旧较大。
  当数据和最小值相等的时候,通过离差标准化可以发现数据变为0。
  若数据极差过大就会出现数据在离差标准化后数据之间的差值非常小的情况。
  同时,还可以看出离差标准化的缺点:若数据集中某个数值很大,则离差标准化的值就会接近于0,并且相互之间差别不大。

5.3.2 标准差标准化数据 StandardScaler

  标准差标准化也叫零均值标准化或分数标准化,是当前使用最广泛的数据标准化方法。经过该方法处理的数据均值为0 ,标准差为1 ,转化公式如下。

  其中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

清木!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值