泛統計理論初探——統計編碼方法簡介

統計學習-統計編碼方法簡介

機器學習常見的編碼方法簡介
在實際的問題中,經常會遇到自變量是分類變量的問題,比如血型、學歷、職稱級別、衣服型號等。在處理這些變量的時候,通常會對變量進行編碼處理,使得原來的變量取值變成數學上的數字,比如0,1等數值,這樣可以方便代入模型來進行實際預測和分析。在本文中,我們將介紹幾種常見的編碼方法,通過學習編碼方法來加深機器學習中對分類變量處理的認識。
常見的結構型數據可以分爲四種:定比數據、定距數據、定序數據、定類數據,在之前的文章已經提到過了,此處不再贅述。對於分類變量的處理,其實要分有順序的分類變量和無順序的分類變量,即定序數據和定類數據。下面通過案例來分別介紹。
首先是有順序的分類變量,這種變量的處理我們通常進行順序編碼,即在編碼後依舊保持了原有變量取值的順序關係。比如學歷可能劃分爲:中專以及中專以下、大專、本科、研究生、博士生等,在這個時候我們發現,這些學歷其實有順序的,所以這個時候我們使用序號編碼進行處理,按順序編碼得到:中專以及中專以下編碼爲1,大專編碼爲2,本科編碼爲3,研究生編碼爲4,博士生編碼爲5。在編碼後,原有的變量(學歷)順序沒有被改變,編碼後的值從1,2,3,4,5爲遞增的關係。其實前面提到的衣服型號編碼也是可以進行順序編碼的,衣服型號通常有:S,M,L,XL,XXL等,對應的型號是小型、中型、大型、特大型、特特大型。按順序編碼,我們把S型編碼爲1、M型編碼爲2、L型編碼爲3、XL型編碼爲4、XXL型編碼爲5。在編碼後,原有的變量(衣服型號)順序也沒有被改變,編碼後的值從1,2,3,4,5爲衣服型號遞增的關係。
其次我們來看下無順序的分類變量,這種變量的處理我們通常是有兩種,啞變量編碼(dummy)和獨熱編碼(one-hot)。這兩種編碼形式都可以保留原有的變量信息,並且不會在編碼後增加新的順序關係等,較好地使得變量的類別信息保持不變。我們在此處拿高中的學科分班來舉例,假設某地高考有理科、文科、體育、藝術這四種方向,那麼高中的學科分班也會根據這個來分類,我們觀察這四種方向是沒有順序關係的,所以使用啞變量或獨熱編碼進行編碼處理。具體的編碼形式見下表。

學科分班 啞變量編碼 獨熱編碼
理科 0 0 0 1 0 0 0
文科 1 0 0 0 1 0 0
體育 0 1 0 0 0 1 0
藝術 0 0 1 0 0 0 1

根據上表我們發現,獨熱編碼和啞變量都可以對無順序的分類變量進行處理,但是啞變量編碼比獨熱編碼有細微的區別,即啞變量其中有一個變量的編碼都是0,並且比獨熱編碼要少1個維度的取值,只有3個維度即可反映原有的分類變量,而獨熱編碼需要4個維度的取值。與此同時,獨熱編碼是把某個變量的某個狀態值爲1,其他都是0。其實從實用角度來說,兩種編碼的形式都是比較好的,可以把無順序的分類特徵進行很好的處理並且不丟失變量信息。但是對於類別較多的問題,使用這兩種編碼都會使得自變量的數量大大增加,所以可以結合主成分分析方法或因子分析方法來進行降維。
總的來說,對於初學者來說,學習編碼方法是有必要的,因爲在實際比賽或是研究中,會遇到很多的分類變量,根據實際情況我們可以使用不同的編碼方法,但是使用編碼後不能使得原有變量的信息進行增加或是減少,否則編碼會引起很大的問題。

發佈了29 篇原創文章 · 獲贊 30 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章