類別資料的處理(label encoding and one-hot encoding)

Ben Hu
2 min readJan 31, 2020

--

在資料處理的過程中,類別資料常都會轉為數字,才可以放入模型。

假設我們有一個類別變數是Sex, 有兩類,male and female。

很多時候,資料會幫你分好了,male的編碼是0, female的編碼是1,這種叫做label encoding,因為就是直接把標籤的字串轉成數字,所以叫做label。encoding就是編碼的意思,一個理解可以是,一種把格式轉成另一種格式的概念。

另一種,就是另外建立兩個變數,一個叫做male_dummy,一個叫做female_dummy。那如果這個資料點是male,那這個資料點的male_dummy就是1,female_dummy就是0;那如果這個資料點是female,那這個資料點的male_dummy就是0,female_dummy就是1。這種新建立的變數,叫做dummy variable,因為dummy有假的意思,叫做虛擬變數。這種作法,在機器學習的語言裡面, 叫做one-hot encoding。

程式上,已經都有套件幫我們幫好了。以下用三個類別Title去示範。

Label encoding

Miss: 0 , Mr: 1 ; Mrs: 2

One-hot encoding

--

--

Ben Hu

What I cannot create, I do not understand — Richard Feynman