sklearn one_hot 操作


1.編碼

  one_hot編碼不再過多敘述,類似於hash的那種方法去改變數的編碼方式。比如label存在與(0,1,2,3),那么一條記錄的label為3,那么將編碼維[0,0,0,1]

2.包: tf.one_hot(label,n_label) 需要注意的是返回的是一個tensor

   from sklearn.preprocessing import OneHotEncoder

  這個的用法就比較多了

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()
View Code

 這里,我們把以上一行看作是一條記錄,那么每一行的第n列就是其第n個特征。基於這個理解,我們說下面的問題。

  1)其中enc.fit與平時所用的sklearn 的作用相同。

  2)enc.n_values_->各個特征的種類

  其輸出:[2 3 4] 可以看到一共4行,3列,也就說4條記錄3個特征,那么我們可以看出n_values_是統計各個特征的值

  3) feature_indices_ 

   輸出為:[0 2 5 9]也就時說對上面n_values的累加

  4) enc.transform(one_array) 這個就不用說了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM