關於One-hot編碼

老司機的詩和遠方發表於2020-04-06

關於One-Hot編碼(獨熱編碼)
在機器學習的應用任務中,對於非連續的資料經常也會使用數字進行編碼,便於處理。例如“男性”編碼為1,“女性”編碼為2。但是這二者之間是不存在數學上的連續關係的,然而如果按照上述1和2進行編碼的話,機器學習演算法會認為“男性”和“女性”之間存在數學的有序關係。
獨熱編碼即One-Hot編碼,又稱一位有效編碼,其方法是使用N位狀態暫存器來對N個狀態進行編碼,每個狀態都由他獨立的暫存器位,並且在任意時候,其中只有一位有效。例如上文中說的“男性”和“女性”共有兩種狀態,那麼就可以編碼為01和10,對於有N個狀態的特徵,經過one-hot編碼後就會變成N個二元值,而其中只有一個為1。(一串字元只有一個位為1)
總結:可以說一種特徵裡面有多少屬性(多少種取值)這個二進位制就有多少位,當這個個體表現有某個屬性的時候就將該屬性對於的位置為1!

採用one-hot編碼的好處主要有:

解決了分類器不好處理屬性資料的問題
在一定程度上也起到了擴充特徵的作用

相關文章