機器學習 - 平均中位數模式

均值、中值和眾數

從一組數字中我們可以學到什么?

在機器學習(和數學)中,通常存在三中我們感興趣的值:

  • 均值(Mean) - 平均值
  • 中值(Median) - 中點值,又稱中位數
  • 眾數(Mode) - 最常見的值

例如:我們已經登記了 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 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)

運行實例

如果中間有兩個數字,則將這些數字之和除以 2。

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 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)

運行實例

章節總結

均值、中值和眾數是機器學習中經常使用的技術,因此了解它們背后的概念很重要。