https://www.jqr.com/article/000243
一句話概括:one hot編碼是將類別變量轉換為機器學習算法易於利用的一種形式的過程。
類別值是分配給數據集中條目的數值編號。
sklearn的LabelEncoder可以幫我們完成這一類別值分配工作。
在我們繼續之前,你可以想一下為什么不直接提供標簽編碼給模型訓練就夠了?為什么需要one hot編碼?
標簽編碼的問題是它假定類別值越高,該類別更好。“等等,什么!”
這意味着:VW和Honda平均一下是Acura。毫無疑問,這是一個糟糕的方案。該模型的預測會有大量誤差。
我們使用one hot編碼器對類別進行“二進制化”操作,然后將其作為模型訓練的特征,原因正在於此。
當然,如果我們在設計網絡的時候考慮到這點,對標簽編碼的類別值進行特別處理,那就沒問題。不過,在大多數情況下,使用one hot編碼是一個更簡單直接的方案。
sklearn.preprocessing.OneHotEncoder
我理解,單維到多維空間。多維空間的距離好度量。
如果原本的標簽編碼是有序的,那one hot編碼就不合適了——會丟失順序信息。
