本文将具体介绍,当我们的数据导入到代码里时,数据有的可能是中文、数字、时间等等,对于计算机来说肯定十分头大,数据还会有缺失、不统一等问题,所以需要对数据进行标准化,也叫特征工程。
下面介绍下数据转换的一种方法,
(一) 将数据转换成标准的正态分布
1、fit
用于计算训练数据的均值和方差, 后面就会用均值和方差来转换训练数据
2、fit_transform
不仅计算训练数据的均值和方差,还会基于计算出来的均值和方差来转换训练数据,从而把数据转换成标准的正太分布
3、transform
很显然,它只是进行转换,只是把训练数据转换成标准的正态分布
一般使用方法:
a) 先用fit
scaler = preprocessing.StandardScaler().fit(X)
这一步可以得到scaler,scaler里面存的有计算出来的均值和方差
b) 再用transform
scaler.transform(X)/fit_transform
这一步再用scaler中的均值和方差来转换X,使X标准化
c) 那么在预测的时候, 也要对数据做同样的标准化处理,即也要用上面的scaler中的均值和方差来对预测时候的特征进行标准化
注意:测试数据和预测数据的标准化的方式要和训练数据标准化的方式一样, 必须用同一个scaler来进行transform
原文:https://www.cnblogs.com/xinyumuhe/p/12606121.html