机器学习 - 标准差
什么是标准差?
标准差是一个描述数值分散程度的数字。
低的标准差意味着大多数数值都接近均值(平均值)。
高的标准差意味着数值分布在一个更宽的范围内。
示例:这次我们记录了 7 辆汽车的速度
speed = [86,87,88,86,87,85,86]
标准差是
0.9
这意味着大多数数值都在距离均值(86.4)0.9 的范围内。
让我们对一组范围更广的数字做同样的事情
speed = [32,111,138,28,59,77,97]
标准差是
37.85
这意味着大多数数值都在距离均值(77.4)37.85 的范围内。
正如你所见,更高的标准差表明数值分布在一个更宽的范围内。
NumPy 模块有一个计算标准差的方法
示例
使用 NumPy 的 std()
方法来计算标准差
import numpy
speed = [86,87,88,86,87,85,86]
x = numpy.std(speed)
print(x)
自己动手试一试 »
方差
方差是另一个表明数值分散程度的数字。
事实上,如果你计算方差的平方根,你就能得到标准差!
反之亦然,如果你将标准差乘以自身,你就能得到方差!
要计算方差,你需要执行以下步骤
1. 计算均值
(32+111+138+28+59+77+97) / 7 = 77.4
2. 对于每个数值:计算它与均值的差
32 - 77.4 = -45.4
111 - 77.4 = 33.6
138
- 77.4 = 60.6
28 - 77.4 = -49.4
59 - 77.4 = -18.4
77
- 77.4 = - 0.4
97 - 77.4 = 19.6
3. 对于每个差值:计算其平方值
(-45.4)2 = 2061.16
(33.6)2 = 1128.96
(60.6)2 = 3672.36
(-49.4)2 = 2440.36
(-18.4)2 = 338.56
(- 0.4)2 = 0.16
(19.6)2 = 384.16
4. 方差是这些平方差的平均值
(2061.16+1128.96+3672.36+2440.36+338.56+0.16+384.16)
/ 7 = 1432.2
幸运的是,NumPy 有一个计算方差的方法
示例
使用 NumPy 的 var()
方法来计算方差
import numpy
speed = [32,111,138,28,59,77,97]
x = numpy.var(speed)
print(x)
自己动手试一试 »
标准差
正如我们所学,计算标准差的公式是方差的平方根
√1432.25 = 37.85
或者,就像之前的例子一样,使用 NumPy 来计算标准差
示例
使用 NumPy 的 std()
方法来计算标准差
import numpy
speed = [32,111,138,28,59,77,97]
x = numpy.std(speed)
print(x)
自己动手试一试 »
符号
标准差通常用符号 Sigma 表示:σ
方差通常用符号 Sigma Squared 表示:σ2
Chapter Summary
标准差和方差是机器学习中常用的术语,所以理解如何获得它们以及它们背后的概念非常重要。