preprocessing.LabelEncoder 與 preprocessing.OrdinalEncoder 的差異,以及如何自訂順序?
我在 scikit-learn 的官網上看到除了講義及補充資料外的編碼方式 OrdinalEncoder,從操作上,我不太能夠分辨 preprocessing.LabelEncoder 與 preprocessing.OrdinalEncoder 的差異。從其他網站上查到的資料是說 LabelEncoder 是對標籤編碼,OrdinalEncoder 則是對特徵編碼,想了解標籤及特徵在dataframe的差異。
另外想請問在進行 LableEncoder時,如何自訂編碼的順序,例如小孩、年輕⼈、老⼈,標示為 0, 1, 2,那如果我想改將小孩、老⼈、年輕⼈、分別標示為 0, 1, 2,該如何處理。謝謝!
回答列表
-
2020/06/10 下午 10:10Yang Wang贊同數:2不贊同數:0留言數:1
-
2020/06/12 上午 05:39張維元 (WeiYuan)贊同數:1不贊同數:0留言數:1
嗨,我看了一下 preprocessing.LabelEncoder 與 preprocessing.OrdinalEncoder 應該差不多的用法,只是官方建議 LabelEncoder 用於標籤、OrdinalEncoder 用於特徵,但其功能是差不多的。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃
-
2020/06/12 上午 05:40張維元 (WeiYuan)贊同數:1不贊同數:0留言數:1
另外第二個問題「另外想請問在進行 LableEncoder時,如何自訂編碼的順序,例如小孩、年輕⼈、老⼈,標示為 0, 1, 2,那如果我想改將小孩、老⼈、年輕⼈、分別標示為 0, 1, 2,該如何處理。謝謝!」我之前有分享過一篇補充(Yang Wang 貼的連結):Label Encoding 與 One Hot Encoding 大不同 - Python 實現 ,你可以看一下:)
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃