python归一化数据代码,Python数据标准化、归一化

在进行数据分析或者机器学习时,通常需要对数据进行预处理,其中主要的步骤就是数据标准化/归一化。

常用的数据标准化和归一化方法主要有:

1. 最大最小标准化

y=(x-min(x))/(max(x)-min(x)),x为一序列,即x={x1,x2,x3......},max(x)为最大值,min(x)为最小值

2. z-score标准化

y=(x-mean(x))/std(x),mean(x)指的是均值,std(x)指的是标准差,结果会形成均值为0,方差为1的序列

3. 直接归一化

y=x/sum(x),sum(x)指的是x序列的和

其中,Python实现 z-score的方法如下:

import numpy as np

aa = np.array([2,3,9,6,8])

bb= np.array([5,6,3,7,9])

cc=np.array([aa, bb])print(cc)

cc_mean= np.mean(cc, axis=0) #axis=0,表示按列求均值 ——— 即第一维,每一列可看做一个维度或者特征

cc_std = np.std(cc, axis=0)

cc_zscore= (cc-cc_mean)/cc_std #直接计算,对数组进行标准化,一定要注意维度

79af28b8269940539283dee7fff136ed.png

同时,scikit-learn也集成了z-score标准化的方法:

from sklearn.preprocessing importStandardScaler

scaler=StandardScaler()#scaler.fit(cc)#trans_data_2 = scaler.transform(cc)

cc_zscore_sk = scaler.fit_transform(cc) #与上面numpy的计算结果一致

Python实现最大最小标准化的代码也很简单:

cc_min_max = (cc-np.min(cc, axis=0))/(np.max(cc, axis=0)-np.min(cc, axis=0))

或者使用sklearn包:

from sklearn.preprocessing importMinMaxScaler

cc_min_max= MinMaxScaler().fit_transform(cc)

##

注:pandas同样可以类似实现。

参考:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值