1.編碼ide
one_hot編碼再也不過多敘述,相似於hash的那種方法去改變數的編碼方式。好比label存在與(0,1,2,3),那麼一條記錄的label爲3,那麼將編碼維[0,0,0,1]ui
2.包: tf.one_hot(label,n_label) 須要注意的是返回的是一個tensor編碼
from sklearn.preprocessing import OneHotEncoder
lua
這個的用法就比較多了spa
1 enc = OneHotEncoder() 2 enc.fit([[0, 0, 3], [1, 1, 0], [0, 2, 1],[1, 0, 2]]) 3 print "enc.n_values_ is:",enc.n_values_ 4 print "enc.feature_indices_ is:",enc.feature_indices_ 5 print enc.transform([[0, 1, 1]]).toarray()
這裏,咱們把以上一行看做是一條記錄,那麼每一行的第n列就是其第n個特徵。基於這個理解,咱們說下面的問題。code
1)其中enc.fit與平時所用的sklearn 的做用相同。
orm
2)enc.n_values_->各個特徵的種類
blog
其輸出:[2 3 4] 能夠看到一共4行,3列,也就說4條記錄3個特徵,那麼咱們能夠看出n_values_是統計各個特徵的值
string
3) feature_indices_
hash
輸出爲:
[0 2 5 9]也就時說對上面n_values的累加
4) enc.transform(one_array) 這個就不用說了