機器學習 - 均值、中位數、眾數
均值、中位數和眾數
從一組數字中我們可以學到什麼?
在機器學習(以及數學)中,我們通常對三個值感興趣
- 均值 - 平均值
- 中位數 - 中間值
- 眾數 - 最常見的值
例如:我們記錄了 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
均值、中位數和眾數是在機器學習中常用的技術,因此理解它們背後的概念很重要。