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

Weka Attribute selection - justifying different outcomes of different methods

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

为了测试,我使用了从 here(datasets-numeric.jar) 获得的 autoPrice.arff 使用 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

我的问题是: 我如何证明这两个结果之间存在矛盾?如果这两种方法使用不同的算法来实现相同的目标(揭示属性与 class 的相关性),为什么一个说 engine-size 很重要而另一个说没那么多!?

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

IG 查看没有属性和条件化之间的熵差异;因此,高度信息属性(相对于class变量)将排名最高。

然而,

RELIEF 查看随机数据实例,并通过与 "nearby" 数据实例进行比较来衡量该特征区分 classes 的程度。 请注意,relief 是一种更启发式(即更随机)的方法,您获得的值和顺序取决于多个参数,这与 IG 不同。

所以我们不希望优化不同数量的算法给出相同的结果,尤其是当一个算法依赖于参数时。 但是,我会说实际上你的结果 非常相似:例如curb-weighthorsepower 在这两种方法中都非常接近顶部。