在資料處理的過程中,類別資料常都會轉為數字,才可以放入模型。
假設我們有一個類別變數是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
One-hot encoding