特徵處理 - Amazon Machine Learning

我們不再更新 Amazon Machine Learning 服務或接受新使用者。本文件適用於現有使用者,但我們不再對其進行更新。如需詳細資訊,請參閱什麼是 Amazon Machine Learning

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

特徵處理

透過資料摘要和視覺化效果了解您的資料之後,您可能會想進一步轉換變數,讓它們更具有意義。這就是所謂的「特徵處理」。例如,假設您有一個變數,用來擷取事件發生的日期和時間。這個日期和時間不會再次發生,因此不適合用來預測目標。不過,如果將此變數轉換成一天中小時、星期幾和月份的特徵,這些變數就能用來了解事件是否傾向於特定的小時、星期幾或月份發生。這種特徵處理可形成供學習的更一般化資料點,顯著改善預測模型。

其他常見特徵處理的範例包括:

  • 使用更有意義的值來取代遺漏或無效的資料 (例如,如果您知道某個產品類型變數的遺漏值實際上代表書籍,您就可以將產品類型中的所有遺漏值替換為書籍值)。用來推算遺漏值的常用策略是將遺漏值替換為平均數或中位數。選擇替換遺漏值的策略之前,請務必先了解您的資料。

  • 形成一個變數與另一個變數的笛卡兒乘積。例如,如果您有兩個變數,假設為人口密度 (urban 都市、suburban 郊區、rural 鄉村) 和州/省 (Washington 華盛頓州、Oregon 奧勒岡州、California 加州),這兩個變數之笛卡兒乘積所產生特徵 (urban_Washington、suburban_Washington、rural_Washington、urban_Oregon、suburban_Oregon、rural_Oregon、urban_California、suburban_California、rural_California) 形成的特徵中,可能會有有用的資訊。

  • 非線性轉換,例如將數值變數分箱轉換為類別。在許多情況下,變數特徵和目標之間的關係並非線性 (特徵值不會隨著目標單純地增加或減少)。在這種情況下,將數值特徵分箱轉換為代表不同數值特徵範圍的類別,可能會很有用。接著,可再為每個類別特徵 (分箱) 建立模型,讓它們各自與目標產生線性關係。例如,假設您知道連續數值特徵年齡與購買書籍的可能性不存在線性關聯。您可將年齡分箱至不同的類別特徵,然後可以更精確擷取與目標的關係。數值變數的最佳分箱數取決於變數特徵以及其與目標的關係,而這最好透過實驗確定。Amazon ML 會根據建議配方中的資料統計值來建議數值特徵的最佳分箱數。如需「建議的配方」詳細資訊,請參閱《開發人員指南》。

  • 領域特定的特徵 (例如,您有長度、寬度和高度的單獨變數;您可以根據這三個變數的乘積建立新的體積特徵)。

  • 變數特定的特徵。有些變數類型 (例如文字特徵、擷取網頁結構或句子結構的特徵),有一些通用的處理方法可以協助擷取結構和內容。例如,從文字「the fox jumped over the fence」(狐狸跳過籬笆) 形成的「n 元語法」可以使用「一元語法」來代表:the、fox、jumped、over、fence,也可使用「二元語法」來代表:the fox、fox jumped、jumped over、over the、the fence。

包含多個相關特徵,有助於改善預測能力。顯然,我們並非永遠能事先得知具有「信號」或預測性影響的特徵。因此,建議包含所有可能與目標標籤相關的特徵,並讓模型訓練演算法挑選具有最強關聯性的特徵。在 Amazon ML 中,您可以在建立模型時,於配方中指定特徵處理。如需可用特徵處理器的清單,請參閱《開發人員指南》。