機器學習 - 散點圖
散點圖
散點圖是一種圖表,其中資料集中的每個值都由一個點表示。

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 軸上的分佈更寬。