不同的评价标准往往具有不同的量纲和单位。在进行数据分析的时候,我们需要消除这些评价标准之间的影响,进行数据标准化,使得各个指标处于同一数量级。
两种形式
- 将数转化为(0,1)之间的小数,一般为min-max标准化,适用于有边界的训练集。
- 将数据无量纲化,一般为z-score标准化方法。
min-max标准化
对于每一个标准里的变量,我们减去标准中的最小值除以最大值减去最小值
x
^
=
x
−
m
i
n
m
a
x
−
m
i
n
\hat{x} = \frac{x-min}{max-min}
x^=max−minx−min
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randint(0, 10, size=200)
x_std = (x - np.min(x)) / (np.max(x) - np.min(x))
plt.plot(x)
plt.plot(x_std)
plt.show()
z-score标准化方法
对于每一个标准里的变量,我们减去标准中的均值再除以标准差
x
^
=
x
−
x
(
m
e
a
n
)
x
(
s
t
d
)
\hat{x} = \frac{x - x(mean)}{x(std)}
x^=x(std)x−x(mean)
import numpy as np
import matplotlib.pyplot as plt
x = np.random.randint(0, 10, size=200)
z_score = (x - np.mean(x)) / (np.std(x))
plt.plot(x)
plt.plot(z_score)
plt.show()