數值型資料:模型如何使用特徵向量擷取資料

到目前為止,我們讓您瞭解模型會直接對資料集的資料列採取動作;不過,模型實際上會以不同方式擷取資料。

舉例來說,假設資料集提供五個資料欄,但其中只有兩個資料欄 (bd) 是模型中的特徵。處理第 3 列的示例時,模型是否會像以下所示,只擷取醒目顯示的兩個儲存格 (3b 和 3d) 的內容?

圖 1. 模型直接從資料集中擷取範例。列 3 的資料欄 b 和 d 已醒目顯示。
圖 1:這不是模型取得範例的方式。

事實上,模型實際上會擷取一組浮點值,稱為特徵向量。您可以將特徵向量視為包含一個範例的浮點值。

圖 2:特徵向量是資料集和模型之間的中介。
圖 2 更接近真實,但不夠寫實。

不過,特徵向量很少使用資料集的原始值。相反地,您通常必須將資料集的值轉換為模型能更有效學習的表示法。因此,更實際的特徵向量可能會像這樣:

圖 3. 特徵向量包含兩個浮點值:0.13 和 0.47。更貼近現實的特徵向量。
圖 3. 更寫實的特徵向量。

模型從資料集中的實際值訓練,產生的預測結果會比從變更值訓練的結果更準確嗎?令人驚訝的是,答案是否定的。

您必須決定最佳方式,將原始資料集值做為可訓練的值,呈現在特徵向量中。這項程序稱為「特徵工程」,是機器學習的重要一環。最常見的特徵工程技巧如下:

  • 標準化:將數值轉換為標準範圍。
  • 分群 (也稱為分塊):將數值轉換為範圍值的桶組。

本單元將說明如何進行標準化和分箱作業。下一單元「使用分類資料」會介紹其他形式的預先處理,例如將非數值資料 (例如字串) 轉換為浮點值。

特徵向量中的每個值都必須是浮點值。不過,許多功能本來就是字串或其他非數值的值。因此,特徵工程的大部分工作就是將非數值表示為數值。後續單元會進一步說明這項功能。