机器学习 - 均值、中位数、众数
均值、中位数和众数
从一组数字中我们可以学到什么?
在机器学习(以及数学)中,我们通常对三个值感兴趣
- 均值 - 平均值
- 中位数 - 中间值
- 众数 - 最常见的值
例如:我们记录了 13 辆汽车的速度
speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
平均速度、中间速度或最常见速度值是多少?
均值
均值是平均值。
要计算均值,将所有值相加,然后除以值的数量
(99+86+87+88+111+86+103+87+94+78+77+85+86) / 13 =
89.77
NumPy 模块有一个用于此目的的方法。在我们的 NumPy 教程中了解 NumPy 模块。
示例
使用 NumPy 的 mean()
方法查找平均速度
import numpy
speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
x = numpy.mean(speed)
print(x)
运行示例 »
中位数
中位数是排序所有值后的中间值
77, 78, 85, 86, 86, 86,
87
, 87, 88, 94, 99, 103, 111
在找到中位数之前对数字进行排序很重要。
NumPy 模块有一个用于此目的的方法
示例
使用 NumPy 的 median()
方法查找中间值
import numpy
speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
x = numpy.median(speed)
print(x)
自己动手试一试 »
如果中间有两个数字,则将这两个数字的和除以二。
77, 78, 85, 86, 86,
86, 87
,
87, 94, 98, 99, 103
(86 + 87) / 2 = 86.5
示例
使用 NumPy 模块
import numpy
speed = [99,86,87,88,86,103,87,94,78,77,85,86]
x = numpy.median(speed)
print(x)
自己动手试一试 »
众数
众数是出现次数最多的值
99,
86
, 87, 88, 111,
86
, 103, 87, 94, 78, 77, 85,
86
= 86
SciPy 模块有一个用于此目的的方法。在我们的 SciPy 教程中了解 SciPy 模块。
示例
使用 SciPy 的 mode()
方法查找出现次数最多的数字
from scipy import stats
speed = [99,86,87,88,111,86,103,87,94,78,77,85,86]
x = stats.mode(speed)
print(x)
自己动手试一试 »
Chapter Summary
均值、中位数和众数是在机器学习中常用的技术,因此理解它们背后的概念很重要。