什么是随机森林中的 PermutedVarDeltaError?

What is PermutedVarDeltaError in Random Forest?

在MATLAB中,TreeBaggerclass提供了属性PermutedVarDeltaError来衡量变量重要性。我已经多次阅读提供的定义:

For any variable, the measure is the increase in prediction error if the values of that variable are permuted across the observations. This measure is computed for every tree, then averaged over the entire ensemble and divided by the standard deviation over the entire ensemble.

我无法理解 values of that variable are permuted across the observations 部分。有人可以给我解释一下吗?

假设您有一个包含 N 个变量和 M 个观测值的数据集,并且您在其上训练了一个模型(它实际上不一定是 TreeBagger)。

现在假设您采用单个变量,并随机重新排序 (permute) 它的所有 M 值,同时保持数据集的其余部分以相同的顺序排列。您重新训练模型。

如果新模型的准确性突然下降(即它的 error 有很大的 delta),那么这个变量显然很重要对于原始模型的准确性。

相比之下,如果即使您对该变量的值进行了随机重新排序,新模型的准确度仍然非常相似,那么该变量本来就不是很重要。

因此,此度量 PermutedVarDeltaError(排列特定变量值时模型误差的差异)是该变量重要性的度量。

现在 TreeBagger 变得有点复杂,因为这是一个由多个子模型组成的集成模型。但基本的东西是一样的——你只需为每个子模型测量它,然后取模型之间的平均值,用标准差对其进行归一化,你就有了对整体整体的测量。