sklearn.preprocessing包提供了几个常用的转换函数,用于把原始特征向量转换为更适合估计器的表示。
转化器(Transformer)用于对数据的处理,例如标准化、降维以及特征选择等,提供的函数大致是:
- fit(x,y):该方法接受输入和标签,计算出数据变换的方式。
- transform(x):根据已经计算出的变换方式,返回对输入数据x变换后的结果(不改变x)
- fit_transform(x,y) :该方法在计算出数据变换方式之后对输入x就地转换。
在转化器中,fit_transform()函数等价于先执行fit()函数,后执行transform()函数。有如下的数据,使用preprocessing包对数据进行标准化和归一化处理:
from sklearn import preprocessing
import numpy as np
X_train = np.array([[ 1., -1., 2.],
[ 2., 0., 0.],
[ 0., 1., -1.]])
一,数据标准化
数据标准化是指对数据经过处理后,使每个特征中的数值的均值变为0,标准差变为1。
1,标准正态分布
scale()是数据标准化的快捷方式:
X_scaled = preprocessing.scale(X_train)
对应的fit-transform组合是:
scaler = preprocessing.StandardScaler().fit(X_train)
scaler.transform(X_train)
2,把数据缩放到范围
把数据缩放到给定的范围内,通常在0和1之间,或者使用每个特征的最大绝对值按比例缩放到单位大小。
MinMaxScaler(feature_range&