機器學習 - 散點圖
散點圖(Scatter Plot)
散點圖是數據集中的每個值都由點表示的圖。

Matplotlib 模塊有一種繪制散點圖的方法,它需要兩個長度相同的數組,一個數組用于 x 軸的值,另一個數組用于 y 軸的值:
x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86]
x 數組代表每輛汽車的年齡。
y 數組表示每個汽車的速度。
實例
請使用 scatter()
方法繪制散點圖:
import matplotlib.pyplot as plt x = [5,7,8,7,2,17,2,9,4,11,12,9,6] y = [99,86,87,88,111,86,103,87,94,78,77,85,86] plt.scatter(x, y) plt.show()
結果:

散點圖解釋
x 軸表示車齡,y 軸表示速度。
從圖中可以看到,兩輛最快的汽車都使用了 2 年,最慢的汽車使用了 12 年。
注釋:汽車似乎越新,駕駛速度就越快,但這可能是一個巧合,畢竟我們只注冊了 13 輛汽車。
隨機數據分布
在機器學習中,數據集可以包含成千上萬甚至數百萬個值。
測試算法時,您可能沒有真實的數據,您可能必須使用隨機生成的值。
正如我們在上一章中學到的那樣,NumPy 模塊可以幫助我們!
讓我們創建兩個數組,它們都填充有來自正態數據分布的 1000 個隨機數。
第一個數組的平均值設置為 5.0,標準差為 1.0。
第二個數組的平均值設置為 10.0,標準差為 2.0:
實例
有 1000 個點的散點圖:
import numpy import matplotlib.pyplot as plt x = numpy.random.normal(5.0, 1.0, 1000) y = numpy.random.normal(10.0, 2.0, 1000) plt.scatter(x, y) plt.show()
結果:

散點圖解釋
我們可以看到,點集中在 x 軸上的值 5 和 y 軸上的 10 周圍。
我們還可以看到,在 y 軸上擴散得比在 x 軸上更大。