利⽤sklearn对数据预处理:标准化,归⼀化,正则化
⼀、标准化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 = ansform(data.T)
data_scale = data_anspose()
⼆、归⼀化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+...+x n p )1/p.
处理结果是使同属性的样本的p范数为1.
normalizer = preprocessing.Normalizer(copy=True, norm='l2').fit(data.T)
data_T_ansform(data.T)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论