Python教程:机器学习 - 标准差(3)

什么是标准差?

标准差(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)

运行实例:

0.9035079029052513

实例

import numpy

speed = [32,111,138,28,59,77,97]

x = numpy.std(speed)

print(x)

运行实例:

37.84501153334721

方差

方差是另一种数字,指示值的分散程度。

实际上,如果采用方差的平方根,则会得到标准差!

或反之,如果将标准偏差乘以自身,则会得到方差!

如需计算方差,您必须执行以下操作:

  1. 求均值:
(32+111+138+28+59+77+97) / 7 = 77.4
  1. 对于每个值:找到与平均值的差:
 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
  1. 对于每个差异:找到平方值:
(-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
  1. 方差是这些平方差的平均值:
(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.2448979591834

标准差

如我们所知,计算标准差的公式是方差的平方根:

1432.25 = 37.85

或者,如上例所示,使用 NumPy 计算标准差:

实例

请使用 NumPy std() 方法查找标准差:

import numpy

speed = [32,111,138,28,59,77,97]

x = numpy.std(speed)

print(x)

运行实例

37.84501153334721

标准差通常用 Sigma 符号表示:σ

方差通常由 Sigma Square 符号 σ2 表示


总结

标准差和方差是机器学习中经常使用的术语,因此了解如何获取它们以及它们背后的概念非常重要。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值