發表文章

目前顯示的是有「特徵工程」標籤的文章

特徵類型及常見特徵工程手法

圖片
https://www.geeksforgeeks.org/machine-learning/what-is-feature-engineering/ 在機器學習(深度學習)中關鍵絕大部分在 特徵工程 而特徵工程關鍵則在所謂 領域知識 。 特徵類型 數值型:有不同轉換方式,函數、條件式子皆可。(舉例:坪數、年齡、身高、體重) 類別型:一種類別對應一種數值分數。(舉例:行政區、性別、花種類、....) 二元特徵:僅True(1)/False(0)兩種數值特徵,可當作類別型或數值型 排序型特徵: 介於數值型與類別型特徵之間,類似考試的百分等級(0~99)。 有名次、大小關係,也可能並非連續數字。 通常當作數值型特徵處裡,若作為類別型特徵就會失去可排序特性。 時間型特徵: 若取總秒數可轉為數值型特徵,但會失去週期特徵(月、季、星期) 直接用本身可做為類別型特徵,但會失去排序依據資訊,類別數量也過大無意義。 常見特徵工程手法 特徵工程是將現實(可能非數值)資料轉換為對應數值型分數的過程 捨棄或調整離群值 : 若只有少數幾筆資料和其他數值差異極大,則無法標準化處理。 一種做法是直接移除,會挖一個洞。(若離群值數量真的很少的話建議用此做法) 一種做法是將離群值進行調整 類別型資料編碼 標籤編碼(Label Encoding): 類似編列流水號概念,依序將新出現的類別編新代碼。 已出現類別編上已使用的代碼,缺點是該數值大小順序皆無意義。 假設我們有一個「顏色」變數,將 red 指定為 0 、 green 為 1 、 blue 為 2 。 獨熱編碼(One Hot Encoding): 為改良數字大小無意義問題,將不同類別分別獨立為一欄。 缺點是當類別數量越多時,會需要較大記憶空間與計算耗時成本。 假設我們有一個「顏色」變數,其具有三個標籤 red 、 blue 和 green 。為了讓機器學習算法能夠處理,這些標籤都必須轉換為數值形式。透過創建三個新欄位(每個欄位對應一個標籤)來實現,其中對應標籤的欄位使用 1 ,其他顏色欄位則使用 0 。 時間特徵分解:時間欄位該怎麼做處理、劃分呢(週期循環特徵) 最直覺方法就是依照原始意義來分欄處理,或加上第幾週or星期幾。 但是某些欄位(例如:時分秒)和目標值關係極低,是否有更有意義的特徵呢? 可透過週其概念來合成一些重要特徵 聯想有哪幾種...