sklearn数据预处理-scale
2017-01-15 23:00
190 查看
对数据按列属性进行scale处理后,每列的数据均值变成0,标准差变为1。可通过下面的例子加深理解:
测试数据:
使用sklearn进行scale处理时,有两种方式可供选择。
方式1:直接使用preprocessing.scale()方法:
得到的X_scaled中每列的均值为0,方差为1
方式2:使用StandardScaler类来处理
得到的scaler会计算得出每个属性列的均值、方差,但并没有得出最终的数据处理结果。要得到X的scale结果,可以继续执行transform方法:
这里刚开始学习时,会有疑问:为什么transform还需要传一个X参数?
StandardScaler将数据处理分为fit、transform两步。在fit中,仅仅计算出数据预处理算法的一些参数。比如这里主要计算出来每个列属性的均值、方差。但并没有通过算法:(x-mean)/std 对每个数据进行处理,真正的数据处理,放到了transform步骤中。
transform的参数可以是X,这样得到的效果跟直接使用preprocessing.scale(X)相同。也可以不同,当传入的参数不同时,scale会仍然使用计算好的均值、方差,按照算法:(x-mean)/std 来对每个数据处理。
分为fit、transform两个步骤后,那么处理训练集X时,可以fit(X),transform(X)。后面处理测试集时,直接使用transform即可。
这可能就是sklearn.preprocessing的fit、transform两个接口的设计思路吧。
from sklearn import preprocessing import numpy as np
测试数据:
X = np.array([[1., -1., 2.], [2., 0., 0.], [0., 1., -1.]])
使用sklearn进行scale处理时,有两种方式可供选择。
方式1:直接使用preprocessing.scale()方法:
X_scaled = preprocessing.scale(X)
得到的X_scaled中每列的均值为0,方差为1
方式2:使用StandardScaler类来处理
scaler = preprocessing.StandardScaler().fit(X)
得到的scaler会计算得出每个属性列的均值、方差,但并没有得出最终的数据处理结果。要得到X的scale结果,可以继续执行transform方法:
X_scaled = scaler.transform(X)
这里刚开始学习时,会有疑问:为什么transform还需要传一个X参数?
StandardScaler将数据处理分为fit、transform两步。在fit中,仅仅计算出数据预处理算法的一些参数。比如这里主要计算出来每个列属性的均值、方差。但并没有通过算法:(x-mean)/std 对每个数据进行处理,真正的数据处理,放到了transform步骤中。
transform的参数可以是X,这样得到的效果跟直接使用preprocessing.scale(X)相同。也可以不同,当传入的参数不同时,scale会仍然使用计算好的均值、方差,按照算法:(x-mean)/std 来对每个数据处理。
分为fit、transform两个步骤后,那么处理训练集X时,可以fit(X),transform(X)。后面处理测试集时,直接使用transform即可。
这可能就是sklearn.preprocessing的fit、transform两个接口的设计思路吧。
相关文章推荐
- Sklearn数据预处理:scale, StandardScaler, MinMaxScaler, Normalizer
- 使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 【sklearn】数据预处理(一)
- sklearn-数据预处理
- 【原】关于使用Sklearn进行数据预处理 —— 缺失值(Missing Value)处理
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 数据预处理(3) ——数据归约 使用python(sklearn,pandas,numpy)实现
- 数据预处理(2) ——数据变换与数据离散化 使用python(sklearn,pandas,numpy)实现
- 数据预处理 center&scale&box-cox
- 使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 机器学习中的数据预处理(sklearn preprocessing)
- 预处理数据的方法总结(使用sklearn-preprocessing)
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- 关于使用sklearn进行数据预处理 —— 归一化/标准化/正则化
- sklearn中常用的数据预处理方法
- sklearn preprocessing data(数据预处理)