前一篇後半部 將 Categorical Encoding 依轉換類別變數成數值型變數的方式,分成三類:
Classic Encoders:
這類是最直接和最容易了解的轉換方法,也最常見和非常受歡迎。假如不確定要使用哪一種,使用One-Hot encoding 是一個好的開始;這也是直覺的選擇,因為 One-Hot encoding 容易被使用和了解,它還有通用性和正確性的優點。
Contrast Encoders:
這是一個革新的轉換方法,這個方法藉由檢驗變數下各個類別,進而找出類別之間的數學樣式(mathematical patterns)。
Bayesian Encoders:
這是一個進階的方法, 它使用了標籤(target or label)變數 。
這個方法和 Classic Encoders 不一樣的地方,除了本身變數資訊外,用了標籤變數的資訊,此外,它只產生一個欄位,因此排除了 high-dimensionality 的疑慮 。
優點:不需要費太大功夫,對同一變數下的多個類別只產生一個變數,參加Kaggle競賽者最喜歡用的方法。
缺點:只能用於監督是機器學習(supervised learning),(因此標籤(target or label)會洩漏訊息 ),使用在unsupervised data上,結果會變得更糟糕,需要regularization。
類別轉換(categorical encoding)最困難的地方是找尋最恰當的方法,嘗試不同的方法,才能找出最適當的方法。下圖可以幫助大家找出最佳方法
資料來源:https://towardsdatascience.com/all-about-categorical-variable-encoding-305f3361fd02
注:文中所提到的資料集(dataset)是指類似表格結構的資料,所以每列(row)資料等於是樣本(sample)或觀測資料(observation),而其對應的欄(column)則是特徵(feature)、變數(variable)、 欄位(column)。標籤(label)在文中也會和標的(target)、應變項(Dependent variables)交替使用。