在MATLAB中,TreeBagger
类提供了一个属性PermutedVarDeltaError
来测量变量的重要性。我已多次查看提供的定义:
对于任何变量,度量是预测误差的增加,如果
values of that variable are permuted across the observations
。 计算每个树的度量,然后对整个树进行平均 合奏并除以整个标准差 合奏。
我无法理解values of that variable are permuted across the observations
部分。有人可以向我解释一下吗?
答案 0 :(得分:5)
想象一下,你有一个包含N个变量和M个观测值的数据集,你在它上面训练一个模型(它实际上不一定是TreeBagger
)。
现在假设您采用单个变量,并随机重新排序(置换)其所有M值,同时保持数据集的其余部分的顺序相同。你重新训练模型。
如果新模型的精确度突然下降(即错误 delta ),那么该变量显然对原始模型的准确性很重要。
相比之下,如果新模型的准确性仍然非常相似,即使您随机重新排序该变量的值,那么该变量首先也不是非常重要。
因此,此度量PermutedVarDeltaError
(在置换特定变量的值时模型错误的差异)是衡量该变量重要性的指标。
现在它变得更加复杂TreeBagger
,因为这是一个由多个子模型组成的集合模型。但基本的事情是一样的 - 你只是为每个子模型测量它,然后在模型中取平均值,用标准偏差对其进行标准化,并且你有一个整体集合的度量。