1. 程式人生 > >機器學習 特徵工程 特徵離散化

機器學習 特徵工程 特徵離散化

如果想深入研究特徵離散化,請直接閱讀博文最後的英文文獻,以免浪費您的時間!
一、什麼是特徵離散化
簡單的說,就是把連續特徵分段,每一段內的原始連續特徵無差別的看成同一個新特徵
二、為什麼進行離散化
1、離散化的特徵更易於理解
2、離散化的特徵能夠提高模型準確度,提高執行速度。使得規則或模型更加簡潔
3、有些歸納方法比較適於處理離散化特徵
三、特徵離散化方法
1、認識資料
資料可以分為:離散資料、連續資料、nominal資料。其中離散資料和連續資料是有序資料,而nominal資料是無序資料。那麼資料對分類會有什麼影響那?舉個例子,假設特徵X是連續的,連續特徵有非常多的取值(或無限的取值)。現在我們在構造分類器,並且選中了X作為分支變數就會出現下圖情況:
這裡寫圖片描述


m表示M的取值個數,m是非常大的一個數。這樣一下子就把資料劃分的很細,導致劃分過早結束,分類器就很不可信。因此在分類之前或分類過程中應該對X離散化處理
2、離散化方法的分類
從不同角度,離散化可以分為:
(1)監督 VS 無監督(2)動態 VS靜態 (3)區域性 VS 全域性 等等,下圖對離散化進行了分層:
這裡寫圖片描述
3、離散化的過程
離散化的基本過程如下圖所示:
這裡寫圖片描述
4、splitting 離散化方法
(1)Binning方法。主要包括等寬離散化和等頻離散化方法,是無監督離散化方法,這兩種方法可能會把屬於同一類別的不同例項分到不同箱中。
(2)1R離散化。該方法是有監督離散化方法,該方法的過程如下圖:
這裡寫圖片描述

假設,除了最後一個區間外每個區間最少有6個例項,那麼11-20是包含6個例項,但是21對應的類別是C,與11-20中最多的類別一致,所以21加入進來,但是22類別是R,與11-21的最多類別C不一致,所以從21開始新的區間。最後,相鄰的類別區間合併。
(3)entropy方法:
基於entropy的方法有很多,這裡介紹下D2[3]
a、D2方法
由於ID3/C4.5演算法,在每一個分裂節點對所有的連續特徵都需要離散化,因此演算法執行可能較慢。D2方法只對所有的特徵進行一次離散化,所以可以提高演算法的執行效率。
結合下圖簡單說下D2方法
這裡寫圖片描述
圖上的點表示候選分裂點,數字1-5表示選中的五個分裂點,其中點1是用ID3方法選中的第一個分裂點,圖中的IG曲線表示特徵未離散化之前的資訊增益。從圖中可以看到,點1把資料分為左右兩個部分,接下來分別計算左右兩邊的資訊增益。對左邊而言,點3作為分裂點較好,雖然點3在分裂之前的資訊增益IG很小,但僅僅考慮左邊點3是比較好的分裂點。其餘的分裂點的選取也都一樣。
D2演算法什麼時候停止呢?D2停止條件可以視情況而定,這裡簡單列舉下幾個可選的終止條件:
interval裡的資料很少;interval裡的資料屬於同一類;每個候選分裂點的IG都差不多等
5、Merging 方法
Merging 方法的框架如圖所示:
這裡寫圖片描述

(1)ChiMerge方法
ChiMerge方法的度量是基於卡方檢驗的,因此首先介紹下卡方檢驗。
卡方檢驗的大概思想是:通過理論值與實際觀測值之間的差異來判斷獨立假設是否成立。計算出卡方值後,通過查臨界值表得到獨立假設成不成立的可能性大小。卡方檢驗有很多應用,例如特徵選擇、異常值檢測等。這裡我們主要討論卡方檢驗怎樣用在特徵離散化的過程。
a、既然要對連續特徵進行離散化,我們怎麼大致看出離散化結果的好壞呢?如果interval內部class label比較一致,而且不同intervals之間class分佈有較大的差異,這種離散化結果應該是比較好的。
b、ChiMerge方法
該方法基於卡方檢驗,並假設相鄰的兩個intervals之間是獨立的,如果假設成立,相鄰的intervals進行合併,否則不進行合併。那麼為什麼這樣做是合理的呢?這的先介紹演算法過程
首先看看相鄰intervals的卡方值計算:
這裡寫圖片描述
計算完相鄰intervals之間的卡方值之後,我們可以選擇小於(卡方-閾值)的intervals進行合併,具體過程與閾值選擇問題不再贅述,請參考文獻。下面說說假設與intervals合併的問題。如下圖所示:
這裡寫圖片描述
X={i1,i2}表示兩個相鄰的intervals,Y={c1,c2}表示兩個class label,元素o表示在區間i1,i2中的c1,c2的個數。我們的問題是:X的取值與Y的取值之間有關係嗎?換句話說,X=i1時,Y會不會取c2的可能性更大。如果X、Y之間沒關係,那麼不太會出現某一class Label集中出現在某一區間中,換句話說c1,c2在兩個intervals中不會出現過於集中某一interval現象,此時對應卡方值較小,兩區間可以合併。反之,兩區間保持獨立性。
C、ChiMerge方法的優缺點
優點:魯棒性;易於實現;適用於多分類
缺點:略(但很重要)

[1]Discretization: An Enabling Technique,HUAN LIU
[2]Kerber, R. 1992. Chimerge: Discretization of numeric attributes
[3]Catlett, J. 1991. On changing continuous attributes into ordered discrete attributes