数据在前处理的时候,经常会涉及到数据标准化。将现有的数据通过某种关系,映射到某一空间内。常用的标准化方式是,减去平均值,然后通过标准差映射到均至为0的空间内。系统会记录每个输入参数的平均数和标准差,以便数据可以还原。
很多ML的算法要求训练的输入参数的平均值是0并且有相同阶数的方差。
StandardScaler能够轻松的实现上述功能。
定义:
sc = StandarScaler(copy=True, with_mean=True, with_std=True)
三个默认值为True。
copy 如果为False,就会用归一化的值替代原来的值。如果被标准化的数据不是np.array或scipy.sparse CSR matrix, 原来的数据还是被copy而不是被替代。
归一化的值:表示一个事物有不同的维度{即:属性},每个属性的取值范围不同,导致计算时此属性占用的权重不同。
with_mean 在处理sparse CSR或者 CSC matrices 一定要设置False不然会超内存。
可查询属性:
scale_:缩放比例或标准差。
mean_:特征平均值
var_:特征方差
n_sample_seen_:样本数量(可增加)
可被调用的方法:
fit:计算输入数据各特征的平均值
fit_transform:通过fit_params调整数据X,y得到一个调整后的X
get_params:返回StandardScaler对象的设置参数
inverse_transform:按照缩放规律反向还原当前数据
partial_fit:计算平均值和标准差
transform:基于现有的对象规则,标准化新的参数