StandardScaler作用:
StandardScaler是对数据集做归一化处理的,他依据列为单位进行计算,即每个特征
计算方法:
(原始值 - 平均值)/ 标准差
代码验证:
调用StandardScaler
import numpy as np
from sklearn.preprocessing import StandardScaler
np.random.seed(42)
samples = np.random.randn(10,1)
scaler = StandardScaler()
scaler.fit(samples)
Out:
StandardScaler(copy=True, with_mean=True, with_std=True)
手动实现
# 预测函数
def scale(series, x):
mean = np.mean(series)
std = np.std(series)
return (x-mean)/std
验证
scale(samples[:,0], np.array([[1],[2]]))
Out:
array([[0.80468598],
[2.26261185]])
scaler.transform(np.array([[1],[2]]))
Out:
array([[0.80468598],
[2.26261185]])
结论
手动方法与结果相同,这就验证了StandardScaler算法,其计算公式为:
扫描二维码关注公众号,回复:
9549356 查看本文章