One-Hot Encoding

One-Hot Encoding 是一編碼方式,使用 N 位狀態寄存器來對 N 個狀態進行編碼,常被用於機器學習中的資料前處理,特別是無序的類別資料。


像是性別資料 Male 與 Female,雖然可以用數值編碼將之編成 0 與 1 之類的數值。

Male   => 0
Female => 1


但是這樣當我們以座標空間來表示這些資料時,這些無序資料距離原點的距離就會有所差異,不利於機器學習。


如果改用 One-Hot Encoding,將每個類別資料都給予一個維度來存放狀態值 (第一個 Bit 用以存放 Male 的狀態,第二個 Bit 用以存放 Female 的狀態),那這些無序資料距離原點的距離就都會一樣,無大小之分。

Male   => 01
Female => 10