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算法,其计算公式为:
xuxingyuan 发布了1 篇原创文章 · 获赞 0 · 访问量 6 私信 关注