MATLAB ReliefF 输出

MATLAB ReliefF Output

MATLAB 特征选择算法 reliefF 的输出是 RANKED 和 WEIGHTS。

http://in.mathworks.com/help/stats/relieff.html

这两个输出有什么关系?

来自文档:

RANKED are indices of columns in X ordered by attribute importance, meaning RANKED(1) is the index of the most important predictor. WEIGHT are attribute weights ranging from -1 to 1 with large positive weights assigned to important attributes.

因此 relieff 不仅为您提供哪些预测变量最重要的列表,还为您提供权重列表,让您了解预测变量的重要性。 WEIGHT(4),例如,是第四个预测变量的权重。 WEIGHT(RANKED) 将 return 按排名(从高到低)排序的权重列表。

您会注意到,在这种情况下,预测变量 4 和 3 的权重值实际上比较接近。这可能表明,尽管对于这组特定的数据,第 4 个预测变量似乎排名第一,但第 4 个和第 3 个预测变量都很重要,并且给定一组不同的数据,排名可能会发生变化。

例如,fisheriris 数据集包含四个预测变量的 150 个测量值。如果我们只取其中的三分之二,我们会得到不同的结果:

load fisheriris
[ranked,weight] = relieff(meas(1:100,:),species(1:100),10)

这给了我们:

ranked = 3 4 2 1 weight = 0.1574 0.2265 0.5431 0.4981

relieffin the documentation 引用了三篇学术论文。如果你真的想了解它正在做什么的细节,你应该尝试掌握这些。