Weka属性选择 - 证明不同方法的不同结果

时间:2017-03-02 20:36:54

标签: machine-learning weka linear-regression

我想对数字数据集使用属性选择。 我的目标是找到我稍后将在线性回归中使用的最佳属性来预测数值。

为了测试,我使用了从here获得的autoPrice.arff(datasets-numeric.jar) 使用ReliefFAttributeEval我得到以下结果:

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种方法使用不同的算法来实现相同的目标(揭示属性与类的相关性),为什么有人说例如引擎大小很重要而另一种说不是那么多!?

1 个答案:

答案 0 :(得分:0)

没有理由认为RELIEF和信息增益(IG)应该给出相同的结果,因为它们衡量的是不同的东西。

IG研究了没有属性和条件的熵之间的差异;因此,高度信息属性(关于类变量)将是排名最高的。

然而,RELIEF查看随机数据实例,并通过与“附近”数据实例进行比较来衡量该功能对类的区分程度。 请注意,浮雕更具启发性(即更随机)方法,并且您获得的值和排序取决于几个参数,与IG不同。

因此,我们不希望算法优化不同的数量来得到相同的结果,尤其是当一个参数依赖时。 但是,我会说实际上您的结果 非常相似:例如<{1}}和horsepower在两种方法中都非常接近顶部。