2017-03-02 113 views
0

我想爲數字數據集使用屬性選擇。 我的目標是找到稍後用於線性迴歸預測數值的最佳屬性。Weka屬性選擇 - 證明不同方法的不同結果

爲了進行測試,我使用的是從here(數據集-numeric.jar) 獲得使用ReliefFAttributeEval我得到以下結果的autoPrice.arff:

應用數字後
Ranked attributes: 
**0.05793 8 engine-size** 
**0.04976 5 width** 
0.0456 7 curb-weight 
0.04073 12 horsepower 
0.03787 2 normalized-losses 
0.03728 3 wheel-base 
0.0323 10 stroke 
0.03229 9 bore 
0.02801 13 peak-rpm 
0.02209 15 highway-mpg 
0.01555 6 height 
0.01488 4 length 
0.01356 11 compression-ratio 
0.01337 14 city-mpg 
0.00739 1 symboling 
同時使用InfoGainAttributeEval(

額定過濾器)給我留下了以下結果:

Ranked attributes: 
6.8914 7 curb-weight 
5.2409 4 length 
5.228 2 normalized-losses 
5.0422 12 horsepower 
4.7762 6 height 
4.6694 3 wheel-base 
4.4347 10 stroke 
4.3891 9 bore 
**4.3388 8 engine-size** 
**4.2756 5 width** 
4.1509 15 highway-mpg 
3.9387 14 city-mpg 
3.9011 11 compression-ratio 
3.4599 13 peak-rpm 
2.2038 1 symboling 

我的問題是: 我怎麼能在2個結果之間的辯解矛盾?如果這兩種方法使用不同的算法來實現相同的目標(揭示屬性與類的相關性),爲什麼一個人說例如引擎大小是重要的,另一個則說不太多!

回答

0

沒有理由認爲RELIEF和Information Gain(IG)應該給出相同的結果,因爲它們測量不同的東西。

IG查看不具有屬性和條件的熵之間的差異;因此,高度信息性屬性(相對於類變量)將是最高的排名。

然而,RELIEF查看隨機數據實例並通過與「附近」數據實例進行比較來度量特徵對類的區分程度。 請注意,救濟更具啓發性(即更隨機)的方法,並且您獲得的值和順序取決於幾個參數,與IG不同。

因此,我們不希望優化不同量的算法給出相同的結果,特別是當參數相關時。 但是,我會說,其實你的結果很相似:例如curb-weighthorsepower在兩種方法中都非常接近頂端。