머신러닝 - 표준편차

什么是标准差?

标准差(Standard Deviation,又常称均方差)是一个数字,描述值的离散程度。

低标准偏差表示大多数数字接近均值(平均值)。

高标准偏差表示这些值分布在更宽的范围内。

例如:这次我们已经登记了 7 辆车的速度:

speed = [86,87,88,86,87,85,86]

标准差是:

0.9

意味着大多数值在平均值的 0.9 范围内,即 86.4。

让我们对范围更广的数字集合进行处理:

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)

실행 예제

예제

import numpy
speed = [32,111,138,28,59,77,97]
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

분산은 대개 Sigma Square 기호로 표시됩니다: sigma2 표현

장절 요약

표준 편차와 분산은 기계 학습에서 자주 사용되는 용어이므로, 그들의 추출 방법과 그 뒤에 있는 개념을 이해하는 것이 매우 중요합니다.