機器學習 - 資料分佈
資料分佈
在本教程的早期,我們使用非常小的資料集來理解不同的概念。
在現實世界中,資料集要大得多,但在專案早期階段,很難收集真實世界的資料。
如何獲取大型資料集?
為了建立用於測試的大型資料集,我們使用 Python 模組 NumPy,它提供了許多方法來建立任意大小的隨機資料集。
示例
建立一個包含 250 個介於 0 和 5 之間的隨機浮點數的陣列
import numpy
x = numpy.random.uniform(0.0, 5.0, 250)
print(x)
自己動手試一試 »
直方圖
為了視覺化資料集,我們可以使用收集到的資料繪製直方圖。
我們將使用 Python 模組 Matplotlib 來繪製直方圖。
在我們的 Matplotlib 教程 中瞭解 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 個值介於 0 和 1 之間
- 48 個值介於 1 和 2 之間
- 49 個值介於 2 和 3 之間
- 51 個值介於 3 和 4 之間
- 50 個值介於 4 和 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()
執行示例 »