【问题标题】:What is PermutedVarDeltaError in Random Forest?什么是随机森林中的 PermutedVarDeltaError?
【发布时间】:2016-03-05 08:13:34
【问题描述】:

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

对于任何变量,度量是预测误差的增加,如果 values of that variable are permuted across the observations。 这个度量是针对每棵树计算的,然后在整个树上取平均值 集合并除以整个标准差 合奏。

我无法理解values of that variable are permuted across the observations 部分。谁能给我解释一下?

【问题讨论】:

    标签: matlab random-forest


    【解决方案1】:

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

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

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

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

    所以这个度量 PermutedVarDeltaError(置换特定变量的值时模型误差的差异)是对该变量重要性的度量。

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

    【讨论】:

    • 当您说reorder/permute 变量的值时,您的意思是:for each record, replace the value of the variable with some other value from variables range。这是否意味着原始数据集和新数据集(排列后是不同的数据集?
    • 不,我们没有选择新值,我们只是重新排序现有值。通过这种方式,我们确保置换变量与原始变量具有相同的样本分布。新数据集与原来的数据集不同,但只有这个变量发生了变化。
    • 请在您的回答中包含此信息,以便我将其标记为已接受。附带说明:当变量和二元变量严重偏向一个值时,此度量的准确性如何
    • @Suryavanshi 抱歉耽搁了。所以“准确”在这里不是正确的词。 PermutedVarDeltaError 在变量的值被置换时测量模型误差的变化,并且它总是这样做。这可能是也可能不是您对变量“重要性”的首选度量,甚至是变量相互比较的“相对重要性”的首选度量。如果您的变量具有不同的属性,例如二元和连续,或均匀/不均匀分布的值,您可能觉得它不是一个有用的度量。但是当变量的值被置换时,它仍然会测量误差的变化。
    猜你喜欢
    • 2020-06-04
    • 2013-09-03
    • 2016-07-23
    • 2021-03-30
    • 1970-01-01
    • 2017-06-13
    • 2015-09-16
    • 2019-11-07
    • 2017-03-15
    相关资源
    最近更新 更多