chisquare特徵選擇演算法:
通過計算各個特徵的卡方值,進行排序後得到。
每個特徵的卡方值計算應如下:
x^2 = ∑ ((ya - yb)^ 2 / yb)
其中,ya是每個樣本中,ya的實際值,而yb為理想值,即假設無關成立時,理想的值。
由於假設該特徵與目標特徵無關,則應當在該特徵的範圍上,目標特徵值均勻分布。
例如:假設x 有三種分類,xa,xb,xc. y 有兩種分類, y1,y2
則對於卡方值計算有
y1y2
合計xaab
a+bxbcd
c+dxcef
e+f合計
a+c+e
b+d+f
由於x屬性與y屬性無關, 則有, (a+b) * (a+c+e) / (a+b+c+d+e+f) 為 x屬性值為xa時, y屬性值為y1的理想個數。
其中, (a+c+e)/ (a+b+c+d+e+f) 為全域性中, y1的比例。 由於假設x與y無關,則xa中y1與y2的比例應該也為全域性比例。
以這種思想計算所有理想值,並分別做上述公式的計算。
x^2 = (a- a1)^2 / a1 + (b - b1) ^2 / b1 + ....+ (f - f1) ^2 / f1
(其中,後面均為上面思想計算出的每個格仔的理想值)
在weka中,有專門的函式 chisquaredattributeeval 進行卡方檢驗。
特徵選擇演算法之 ReliefF 演算法
relieff演算法是relief演算法的擴充套件,relief演算法只適用於兩類樣本的問題,relieff演算法可以應用到多個樣本上。relieff演算法步驟如下 現有不同類別的樣本若干,對每類樣本稱作 xn。1.從所有樣本中,隨機取出乙個樣本a。2.在與樣本a相同分類的樣本組內,取出k個最近鄰樣...
特徵選擇演算法之 ReliefF 演算法
relieff演算法是relief演算法的擴充套件,relief演算法只適用於兩類樣本的問題,relieff演算法可以應用到多個樣本上。relieff演算法步驟如下 現有不同類別的樣本若干,對每類樣本稱作 xn。1.從所有樣本中,隨機取出乙個樣本a。2.在與樣本a相同分類的樣本組內,取出k個最近鄰樣...
特徵選擇之 FCBF演算法
具體詳述可見,提出該演算法的 feature selection for high dimensional data a fast correlation based filter solution fcbf演算法 全稱 fast correlation basd filter solution,是...