Label Encoding vs One Hot Encoding


最近在刷kaggle的時候碰到了兩種處理類別型特征的方法:label encoding和one hot encoding。我從stackexchange, quora等網上搜索了相關的問題,總結如下。

label encoding在某些情況下很有用,但是場景限制很多。比如有一列 [dog,cat,dog,mouse,cat],我們把其轉換為[1,2,1,3,2]。這里就產生了一個奇怪的現象:dog和mouse的平均值是cat。而且像decision tree,random forest和xgboost這種算法能處理好這種轉換,而且相比轉換前,所需要的內存空間小一點。

one hot encoding的優點就是它的值只有0/1,不同的類型存儲在垂直的空間。缺點就是,當類別的數量很多時,特征空間會變得非常大。在這種情況下,一般可以用PCA來減少維度。而且one hot encoding+PCA這種組合在實際中也非常有用。

總的來說,要是one hot encoding的類別數目不太多,建議優先考慮。


免責聲明!

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



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