2017-03-02 112 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在两种方法中都非常接近顶端。