Matlab 什么是随机森林中的置换VardeltaError?

Matlab 什么是随机森林中的置换VardeltaError?,matlab,random-forest,Matlab,Random Forest,在MATLAB中,TreeBagger类提供了一个属性PermutedVarDeltaError来度量变量的重要性。我已经多次阅读了提供的定义: 对于任何变量,如果 该变量的值在观测值中排列。 对每棵树计算此度量,然后对整个树进行平均 集合并除以整个集合的标准偏差 合奏 我很难理解该变量的值在观察值中的排列部分。有人能给我解释一下吗?想象一下,你有一个包含N个变量和M个观测值的数据集,然后你在上面训练一个模型(它不一定非得是一个树形记录器) 现在,假设您只取一个变量,然后随机重新排序(排列)它的

在MATLAB中,
TreeBagger
类提供了一个属性
PermutedVarDeltaError
来度量变量的重要性。我已经多次阅读了提供的定义:

对于任何变量,如果 该变量的
值在观测值中排列
。 对每棵树计算此度量,然后对整个树进行平均 集合并除以整个集合的标准偏差 合奏


我很难理解该变量的
值在观察值中的排列部分
。有人能给我解释一下吗?

想象一下,你有一个包含N个变量和M个观测值的数据集,然后你在上面训练一个模型(它不一定非得是一个
树形记录器

现在,假设您只取一个变量,然后随机重新排序(排列)它的所有M值,同时保持数据集的其余部分的顺序相同。你重新训练模型

如果新模型的精度突然下降(即其误差有较大的增量),那么该变量显然对原始模型的精度很重要

相比之下,如果新模型的精度仍然非常相似,即使您随机重新排序了该变量的值,那么该变量从一开始就不可能非常重要

因此,此度量值
置换变量deltaerror
(置换特定变量值时模型误差的差异)是该变量重要性的度量值


现在使用
TreeBagger
会变得更复杂一些,因为这是一个由多个子模型组成的集成模型。但是基本的事情是一样的——你只需要对每个子模型进行测量,然后对模型进行平均,用标准偏差对其进行归一化,就可以对整个集合进行测量。

想象一下,你有一个包含N个变量和M个观测值的数据集,然后在上面训练一个模型(它实际上不一定非得是一个
TreeBagger

现在,假设您只取一个变量,随机地重新排序(排列)它的所有M值,同时保持数据集的其余部分的顺序相同

如果新模型的精度突然下降(即其误差有较大的增量),那么该变量显然对原始模型的精度很重要

相比之下,如果新模型的精度仍然非常相似,即使您随机重新排序了该变量的值,那么该变量从一开始就不可能非常重要

因此,此度量值
置换变量deltaerror
(置换特定变量值时模型误差的差异)是该变量重要性的度量值


现在TreeBagger变得更复杂了,因为这是一个由多个子模型组成的集合模型。但基本原理是一样的——你只需测量每个子模型的平均值,然后用标准偏差对其进行归一化,就可以测量整个集合。

当你说
重新排序/排列
变量的值,您的意思是:
对于每个记录,将变量的值替换为变量范围中的其他值
。这是否意味着原始数据集和新数据集(排列后是不同的数据集吗?不,我们不是选择新值,我们只是对现有值重新排序。通过这种方式,我们确保排列后的变量与原始变量具有相同的样本分布。新数据集与原始数据集不同,但只有此变量已更改。请在y中包含此信息。)我们的答案,这样我可以标记它被接受。另一方面:当变量和二元变量严重偏向于一时,这个度量的准确性如何value@Suryavanshi抱歉耽搁了。所以“准确”这不是一个正确的词。
PermutedVarDeltaError
测量变量的值发生变化时模型错误的变化,并且它总是这样。这可能是您对变量“重要性”甚至“相对重要性”的首选度量变量之间的比较。如果变量具有不同的属性,如二进制和连续值,或分布均匀/不均匀的值,则您可能觉得这不是一个有用的度量方法。但当变量的值被置换时,它仍然会度量错误的变化。当您说
重新排序/置换
变量的值时,您的意思是:
对于每个记录,用变量范围中的其他值替换变量的值。这是否意味着原始数据集和新数据集(排列后是不同的数据集吗?不,我们不是选择新值,我们只是对现有值重新排序。通过这种方式,我们确保排列后的变量与原始变量具有相同的样本分布。新数据集与原始数据集不同,但只有此变量已更改。请在y中包含此信息。)我们的答案,这样我可以标记它被接受。另一方面:当变量和二元变量严重偏向于一时,这个度量的准确性如何value@Suryavanshi很抱歉耽搁了,这么“准确”这不是一个正确的词。
PermutedVarDeltaError
测量变量的值发生变化时模型错误的变化,并且它总是这样。这可能是您对变量“重要性”甚至“相对重要性”的首选度量变量之间的比较。如果变量具有不同的属性,例如二进制和连续,或分布均匀/不均匀的值,则您可能觉得这不是一个有用的度量值。但当变量的值发生变化时,它仍然会度量误差的变化。