加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

利用sklearn对数据预处理:标准化,归一化,正则化

发布时间:2020-12-14 05:34:38 所属栏目:百科 来源:网络整理
导读:一、标准化Standardization(z-score方法): 利用公式:( x-mean(x) ) / std(x) 对具有S相同属性的数据(即一列)做标准化处理,使数据服从零均值标准差的高斯分布。这种方法一般要求原数据的分布近似高斯分布。 涉及距离度量、协方差计算时可以应用这种方

一、标准化Standardization(z-score方法):

利用公式:( x-mean(x) ) / std(x) 对具有S相同属性的数据(即一列)做标准化处理,使数据服从零均值标准差的高斯分布。这种方法一般要求原数据的分布近似高斯分布。

涉及距离度量、协方差计算时可以应用这种方法。将有量纲数据化为无量纲数据,使数据能在同一数量级上进行比较。

?

from sklearn import preprocessing
import pandas as pd
import numpy as np
mean=[4,3]
cov=[[2.0,5.],[1.,1.]]
x=np.random.multivariate_normal(mean,cov,7)
data=pd.DataFrame(x)

scaler = preprocessing.StandardScaler().fit(data.T) #对行做标准化处理
data_T_scale = scaler.transform(data.T)
data_scale = data_T_scale.transpose()

?

二、归一化Normalization(min-max scaling)

利用公式 :( x-min ) / ( max-min ) 将原数据等比例缩放到[0,1]范围内。

涉及距离度量、协方差计算时不能应用这种方法,因为这种线性等比例缩放无法消除量纲对方差、协方差的影响。

?

min_max_scaler = preprocessing.MinMaxScaler()
data_T_minmax = min_max_scaler.fit_transform(data.T)
data_minmax = data_T_minmax.T

?

三、正则化

利用公式:x / || x ||p?,?其中|| x ||p= ( x1p+...+xnp )1/p.

处理结果是使同属性的样本的p范数为1.

normalizer = preprocessing.Normalizer(copy=True,norm=l2).fit(data.T)
data_T_normalize=normalizer.transform(data.T) 

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读