機器學習 - 數據分布

數據分布(Data Distribution)

在本教程稍早之前,我們僅在例子中使用了非常少量的數據,目的是為了了解不同的概念。

在現實世界中,數據集要大得多,但是至少在項目的早期階段,很難收集現實世界的數據。

我們如何獲得大數據集?

為了創建用于測試的大數據集,我們使用 Python 模塊 NumPy,該模塊附帶了許多創建任意大小的隨機數據集的方法。

實例

創建一個包含 250 個介于 0 到 5 之間的隨機浮點數的數組:

import numpy
x = numpy.random.uniform(0.0, 5.0, 250)
print(x)

運行實例

直方圖

為了可視化數據集,我們可以對收集的數據繪制直方圖。

我們將使用 Python 模塊 Matplotlib 繪制直方圖:

實例

繪制直方圖:

import numpy
import matplotlib.pyplot as plt
x = numpy.random.uniform(0.0, 5.0, 250)
plt.hist(x, 5)
plt.show()

結果:


運行實例

直方圖解釋

我們使用上例中的數組繪制 5 條柱狀圖。

第一欄代表數組中有多少 0 到 1 之間的值。

第二欄代表有多少 1 到 2 之間的數值。

等等。

我們得到的結果是:

52 values are between 0 and 1
48 values are between 1 and 2
49 values are between 2 and 3
51 values are between 3 and 4
50 values are between 4 and 5

注釋:數組值是隨機數,不會在您的計算機上顯示完全相同的結果。

大數據分布

包含 250 個值的數組被認為不是很大,但是現在您知道了如何創建一個隨機值的集,并且通過更改參數,可以創建所需大小的數據集。

實例

創建一個具有 100000 個隨機數的數組,并使用具有 100 欄的直方圖顯示它們:

import numpy
import matplotlib.pyplot as plt
x = numpy.random.uniform(0.0, 5.0, 100000)
plt.hist(x, 100)
plt.show()

運行實例