one-hot編碼

什麼是one-hot編碼?one-hot編碼,又稱獨熱編碼、一位有效編碼。其方法是使用N位狀態寄存器來對N個狀態進行編碼,每個狀態都有它獨立的寄存器位,並且在任意時候,其中只有一位有效。

對於如下矩陣,手工編碼:

[0,0,3],[1,1,0],[0,2,1],[1,0,2]

0,1
0->1,0
1->0,1

0,1,2
0->1,0,0
1->0,1,0
2->0,0,1

0,1,2,3
0->1,0,0,0
1->0,1,0,0
2->0,0,1,0
3->0,0,0,1

那麼[0,1,3]=》 1,0,0,1,0,0,0,0,1

 

下面編程驗證一下。

from sklearn import preprocessing  
enc = preprocessing.OneHotEncoder()  # 創建對象
enc.fit([[0,0,3],[1,1,0],[0,2,1],[1,0,2]])   # 擬合
array = enc.transform([[0,1,3]]).toarray()  # 轉化
print(array)


[[1. 0. 0. 1. 0. 0. 0. 0. 1.]]

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章