机器学习 - 均值、中位数、众数
均值、中位数和众数
我们能从观察一组数字中学到什么?
在机器学习(以及数学中)中,我们经常感兴趣的三个值是
- 均值 - 平均值
- 中位数 - 中间值
- 众数 - 最常见的值
示例:我们记录了 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)
自己尝试 »
章节总结
平均数、中位数和众数是机器学习中常用的技术,因此理解它们背后的概念非常重要。