在MATLAB中,TreeBagger类提供了一个属性PermutedVarDeltaError来度量变量的重要性。我已多次翻阅所提供的定义:
对于任何变量,度量都是如果
values of that variable are permuted across the observations的预测误差增加。对每棵树计算这个测度,然后对整个集合进行平均,然后除以整个集合的标准差。
我很难理解values of that variable are permuted across the observations部分。有人能给我解释一下吗?
发布于 2015-07-22 12:39:29
假设您有一个包含N个变量和M个观测的数据集,并在它上训练一个模型(它实际上不必是一个TreeBagger)。
现在假设您接受一个变量,随机地重新排序(置换)它的所有M值,同时保持数据集的其余部分保持相同的顺序。你重新训练模特。
如果新模型的精度突然下降(即它的误差有一个大的增量),那么这个变量显然对原始模型的精度是很重要的。
相反,如果新模型的精度非常接近,即使你随机地重新排序了变量的值,那么变量一开始就不可能很重要。
因此,这个度量PermutedVarDeltaError (在排列特定变量的值时模型误差的差异)是衡量该变量重要性的一种度量。
现在TreeBagger变得更复杂了,因为这是一个由多个子模型组成的集成模型。但是基本的情况是一样的--你只需要为每个子模型度量它,然后在模型之间取一个平均值,用标准差来规范它,你就有了一个整体的度量。
https://stackoverflow.com/questions/31555265
复制相似问题