使用label encoding與one hot encoding的時機
依先前的認知及教學,linear regression, Logistic regression, SVM等模型通常較需要使用one hot encoding,而以樹為基礎的模型通常較適合使用label encoding,想請問怎麼跟這次的作業結果不太符合,這次作業linear regression使用one hot encoding預測成功率較label encoding大幅下降,而樹模型反而是使用one hot encoding結果較label encoding好?
回答列表
-
2019/09/21 下午 11:38張維元 (WeiYuan)贊同數:0不贊同數:1留言數:0
我自己習慣把 encoding 從資料的角度看,而不是模型的角度看。先說結論:
- 原始資料是有序離散值的話 => Label Encoding
- 原始資料是無序離散值的話 => One Hot Encoding (Dummies)
以下分為兩點說明:
為什麼要將離散轉數值?
=> 因為大部分的模型都是基於數學運算,所以字串資料是無法運算的
為什麼要將無序轉 One-Hot?
=> 所謂數學運算一般泛指用距離代表相似(幾何觀點),意思是會用轉換後的兩個值的差距作為其相似程度。
-
2019/09/22 下午 08:27林冠廷贊同數:0不贊同數:0留言數:0
感謝~
不過還是想請問,以房價預測的object feature來說大部分是無序的,且使用梯度提升樹時one hot encoding也有增加預測分數。
如果是以同一筆資料來說(房價預測),不是應該linear regression較梯度提升樹更適合使用one hot encoding?為啥使用後反而造成預測分數大幅下滑?
感謝大大回答
或是有無其他判斷方式決定要用何種編碼方式?
以本次資料,object feature無序+linear regression感覺一看到會使用one hot encoding...
-
2019/09/24 上午 01:09張維元 (WeiYuan)贊同數:0不贊同數:0留言數:1
「如果是以同一筆資料來說(房價預測),不是應該linear regression較梯度提升樹更適合使用one hot encoding? 」=> WHY?
-
2019/09/27 下午 03:23張維元 (WeiYuan)贊同數:0不贊同數:0留言數:1
「以資料來說: 因為房價預測原始資料多是無序離散值 應使用one hot encoding 以模型來說: 因為linear regression會考慮編碼後的大小的關係,比如1跟2比較近、2跟3比較近但1跟3比較遠,所以較不適合在沒有順序的特徵使用Label Encoding,而樹模型沒有這種大小關係的狀況,所以認為是linear regression更應使用one hot encoding 這是我的判斷,想請問下~感謝」
=> 你這樣理解有道理,不過我會覺得好像有點本末導致?我還是建議從資料本身的特質去思考。因為你這樣的思路隱含「linear regression 不適合用於有順序的資料」這個想法,不過好像不太合理。