Main Content

margin

分类间隔

语法

mar = margin(B,TBLnew,Ynew)
mar = margin(B,Xnew,Ynew)
mar = margin(B,TBLnew,Ynew,'param1',val1,'param2',val2,...)
mar = margin(B,Xnew,Ynew,'param1',val1,'param2',val2,...)

说明

在给定真实响应 Ynew 的情况下,mar = margin(B,TBLnew,Ynew) 计算表 TBLnew 中包含的预测变量的分类间隔。如果 TBLnew 包含响应变量,则可以省略 Ynew。如果您使用表中包含的样本数据对 B 进行了训练,则此方法的输入数据也必须在表中。

在给定真实响应 Ynew 的情况下,mar = margin(B,Xnew,Ynew) 计算矩阵 Xnew 中包含的预测变量的分类间隔。

Ynew 可以是数值向量、字符矩阵、字符串数组、字符向量元胞数组、分类向量或逻辑向量。mar 是大小为 Nobs×NTrees 的数值数组,其中 NobsTBLnewYnew 的行数,NTrees 是集成模型 B 中的树数。对于观测值 I 和树 Jmar(I,J) 是实际类的分数和其他类的最大分数之间的差。此方法仅适用于分类集成模型。

mar = margin(B,TBLnew,Ynew,'param1',val1,'param2',val2,...)mar = margin(B,Xnew,Ynew,'param1',val1,'param2',val2,...) 指定可选的参数名称-值对组:

'Mode'该方法如何计算误差。如果设置为 'cumulative'(默认值),则 margin 计算累积误差且 marNobs×NTrees 矩阵,其中第一列给出来自 trees(1) 的误差,第二列给出来自 trees(1:2) 等的误差,最高可达 trees(1:NTrees)。如果设置为 'individual',则 marNobs×NTrees 矩阵,其中每个元素是来自集成模型中每个树的一个误差。如果设置为 'ensemble',则 mar 是长度为 Nobs 的单列,显示整个集成模型的累积间隔。
'Trees'指示在此计算中要包括哪些树的索引向量。默认情况下,此参数设置为 'all',并且方法使用所有树。如果 'Trees' 是数值向量,则方法为 'cumulative''individual' 模式返回一个长度为 NTrees 的向量,其中 NTrees 是输入向量中的元素数,为 'ensemble' 模式返回一个标量。例如,在 'cumulative' 模式中,第一个元素给出来自 trees(1) 的误差,第二个元素给出来自 trees(1:2) 的误差等。
'TreeWeights' 树权重的向量。此向量的长度必须与 'Trees' 向量的长度相同。方法使用这些权重来组合来自指定树的输出,它采用加权平均而不是简单的非加权多数投票算法您不能在 'individual' 模式下使用此参数。
'UseInstanceForTree'大小为 Nobs×NTrees 的逻辑矩阵,指示应使用哪些树来对每个观测值进行预测。默认情况下,该方法对所有观测值使用所有树。

另请参阅