到目前為止,我們讓您瞭解模型會直接對資料集的資料列採取動作;不過,模型實際上會以不同方式擷取資料。
舉例來說,假設資料集提供五個資料欄,但其中只有兩個資料欄 (b
和 d
) 是模型中的特徵。處理第 3 列的示例時,模型是否會像以下所示,只擷取醒目顯示的兩個儲存格 (3b 和 3d) 的內容?
事實上,模型實際上會擷取一組浮點值,稱為特徵向量。您可以將特徵向量視為包含一個範例的浮點值。
不過,特徵向量很少使用資料集的原始值。相反地,您通常必須將資料集的值轉換為模型能更有效學習的表示法。因此,更實際的特徵向量可能會像這樣:
模型從資料集中的實際值訓練,產生的預測結果會比從變更值訓練的結果更準確嗎?令人驚訝的是,答案是否定的。
您必須決定最佳方式,將原始資料集值做為可訓練的值,呈現在特徵向量中。這項程序稱為「特徵工程」,是機器學習的重要一環。最常見的特徵工程技巧如下:
本單元將說明如何進行標準化和分箱作業。下一單元「使用分類資料」會介紹其他形式的預先處理,例如將非數值資料 (例如字串) 轉換為浮點值。
特徵向量中的每個值都必須是浮點值。不過,許多功能本來就是字串或其他非數值的值。因此,特徵工程的大部分工作就是將非數值表示為數值。後續單元會進一步說明這項功能。