1. 程式人生 > >特徵選擇之 FCBF演算法

特徵選擇之 FCBF演算法

FCBF演算法介紹

具體詳述可見,提出該演算法的論文 Feature Selection for High-Dimensional Data: A Fast Correlation-Based Filter Solution

FCBF演算法: 全稱 Fast Correlation-Basd Filter Solution, 是一種快速過濾的特徵選擇演算法,一種基於symmetrical uncertainty(SU)的方法。演算法步驟如下:
1. 計算每個特徵Fi與目標C之間的相關性SUFi,c,計算公式如下:

SU(X,Y)=2IG(X,Y)E(X)+E(Y)
IG(X,Y)=
E(X)E(X|Y)
 ,E(X)=ci=1P(xi)log2(P(xi))
E(X|Y)=i=1CyP(yi)j=1cP(xj|yi)log2(P(xj|yi))
其中IG(X,Y)就代表資訊增益,E(X)代表資訊熵。P(Xi)代表X的值取i時的概率,c為類別數。
2. 然後將相關度大於預先設好的閾值δ的特徵選擇出來。
3. 將SUFi,c按從大到小的順序排列,並依次計算每個特徵Fi與排序中小於SUFi,c的其他所有特徵Fj之間的相關性SUFi,Fj
   if   SUFi,c>SUFj,c  then compute  SUFi,Fj
4. 刪除掉SUi,j大於SUj,c的特徵Fj,最後得到特徵子集。
   if   S
UFi,Fj>SUFj,c
  then delete feature  Fj

該方法的優勢在於一對冗餘特徵Fi,Fj中,保留與目標C相關性更大的特徵Fi,剔除相關性更小的特徵,同時利用相關度更高的特徵Fi去篩選其他特徵,也減少了時間複雜度,因此是一種快速過濾特徵選擇演算法。