原理介绍
离差标准化又称为Min-Max 归一化(Min-Max Normalization),可以使数据范围划定在[0,1]之间。其公式如下:
x
j
=
x
i
−
x
m
i
n
x
m
a
x
−
x
m
i
n
x_j = \frac{x_i-x_{min}}{x_{max}-x_{min}}
xj=xmax−xminxi−xmin
其中,
x
j
x_j
xj是新数组的元素,
x
i
x_i
xi是原始数组中的元素,
x
m
i
n
x_{min}
xmin是原始数组中的最小值,
x
m
a
x
x_{max}
xmax是原始数组中的最大值。
从公式中可以看出,当 x i x_i xi为最小值时, x i − x m i n = 0 x_i-x_{min}=0 xi−xmin=0,对应新数组的值为0;当 x i x_i xi为最大值时, x i − x m i n = x m a x − x m i n x_i-x_{min} = x_{max} - x_{min} xi−xmin=xmax−xmin,对应新数组的值为1;其他数值对应新数组的值在[0,1]之间。
代码
x = [1,2,3,4,5]
y = []
for i in range(len(x)):
res = (x[i]-min(x))/(max(x)-min(x))
y.append(res)
总结
离差标准化是一种原理和实现都很简单的数据归一化方法