機器學習 - 數據分布
數據分布(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()