标准化分类
- 0-1标准化(0-1 normalization)
原理: 离差标准化,线性变换 –> [0, 1]
转换函数:
这里写图片描述
- z-score标准化(zero-mean normalization)
原理:均值为0,标准差为1(符合标准正态分布) –> mean=0, std=1
转换函数:
这里写图片描述
sklearn数据预处理方法
- 均值移除
概述:
为了统一样本矩阵中不同特恒的基准值和分散度,可以将各个特征的平均值调整为0,标准差调整为1,这个过程称为均值移除。
标准化类型:z-score标准化
语法:
sklearn.preprocessing.scale(原始样本矩阵) –> return:均值移除后的样本矩阵(mean=0, std=1)
# 代码
import sklearn.preprocessing as sp
import numpy as np
raw_samples = np.array([
[3, -1.5, 2, -5.4],
[0, 4, -0.3, 2.1],
[1, 3.3, -1.9, -4.3]])
sp.scale(raw_samples)
Out[6]:
array([[ 1.33630621, -1.40451644, 1.29110641, -0.86687558],
[-1.06904497, 0.84543708, -0.14577008, 1.40111286],
[-0.26726124, 0.55907936, -1.14533633, -0.53423728]])
**# 注意:sp.scale(..).mean / std (axis=0) 中的axis=0 沿轴方向不能少
sp.scale(raw_samples).mean(axis=0), sp.scale(raw_samples).std(axis=0)
Out[7]:
(array([ 5.55111512e-17, -1.11022302e-16, -7.40148683e-17, -7.40148683e-17]),
array([1., 1., 1., 1.]))
# help(…scale)
def scale(X, axis=0, with_mean=True, with_std=True, copy=True):
Standardize a dataset along any axis
- 范围缩放
概述:
统一样本矩阵中不同特征的最大值和最小值范围。将属性缩放到一个指定的最大和最小值(通常是1-0)之间,这样处理可对方差非常小的属性增强其稳定性,也可维持稀疏矩阵中为0的条目。
标准化类型:0-1标准化
转换函数:
这里写图片描述
语法:
sklearn.preprocessing.MinMaxScaler(feature_range=期望最小最大值, copy=True) –> return: 范围缩放,
范围缩放器.fit_transform(原始样本矩阵) –> return:范围缩放后的样本矩阵
sp.MinMaxScaler(feature_r