主要内容

resubLoss

类:RegressionTree

resubstitution回归错误的

语法

L = resubLoss(树)
L = resubLoss(树、名称、值)
L = resubLoss(树的子树,subtreevector)
(L, se) = resubLoss(树的子树,subtreevector)
[L, se, NLeaf] = resubLoss(树的子树,subtreevector)
[L, se, NLeaf bestlevel] = resubLoss(树的子树,subtreevector)
(L,…)= resubLoss(树的子树,subtreevector,名称,值)

描述

l= resubLoss ()返回resubstitution损失,这意味着损失计算的数据fitrtree用于创建

l= resubLoss (,名称,值)返回指定的一个或多个损失额外的选项名称,值对参数。您可以指定几个名称-值对参数在任何顺序Name1 Value1,…,的家

l= resubLoss (,“子树”subtreevector)返回一个向量的树木修剪的均方误差序列subtreevector

(l,se)= resubLoss (,“子树”subtreevector)返回向量分类标准错误的错误。

(l,se,NLeaf)= resubLoss (,“子树”subtreevector)返回数字的向量修剪的树木的叶子节点序列。

(l,se,NLeaf,bestlevel)= resubLoss (,“子树”subtreevector)回报最好的修剪中定义的水平TreeSize名称-值对。默认情况下,bestlevel修剪水平使损失在一个标准差最小损失。

(L,…)= resubLoss (,“子树”subtreevector,名称,值)返回损失统计数据由一个或多个指定附加选项名称,值对参数。您可以指定几个名称-值对参数在任何顺序Name1 Value1,…,的家

输入参数

全部展开

回归树(RegressionTree使用模型对象)构造fitrtree

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

损失函数,指定为一个函数处理或mse的均方误差意义。

你可以写你自己的损失函数描述的语法损失函数

数据类型:字符|字符串|function_handle

名称,值参数与修剪树:

修剪水平,指定为逗号分隔组成的“子树”和一个向量的非负整数按升序或“所有”

如果您指定一个矢量,然后所有的元素都必须至少0在大多数马克斯(tree.PruneList)0显示完整的,unpruned树马克斯(tree.PruneList)表示完全修剪树(即。,只有根节点)。

如果您指定“所有”,然后resubLoss运行在所有子树(即。,the entire pruning sequence). This specification is equivalent to using0:马克斯(tree.PruneList)

resubLoss李子每个级别表示子树,然后估计相应的输出参数。的大小子树确定一些输出参数的大小。

调用子树,属性PruneListPruneAlpha必须非空的。换句话说,成长通过设置“删除”,“上”,或者通过修剪使用修剪

例子:“子树”,“所有”

数据类型:||字符|字符串

树的大小,指定为以下之一:

  • “本身”- - - - - -损失回报最高的修剪与损失在一个最低的标准偏差(l+se,在那里lse与最小的价值子树)。

  • “最小值”- - - - - -损失返回的元素子树用最小的损失,通常的最小元素子树

输出参数

全部展开

回归损失(均方误差),一个向量的长度子树。错误的意义取决于价值观权重LossFun

标准错误的损失,一个向量的长度子树

数量的叶子在修剪树(终端节点),一个向量的长度子树

一个标量,其价值取决于TreeSize:

  • TreeSize=“本身”- - - - - -损失回报最高的修剪与损失在一个最低的标准偏差(l+se,在那里lse与最小的价值子树)。

  • TreeSize=“最小值”- - - - - -损失返回的元素子树用最小的损失,通常的最小元素子树

例子

全部展开

加载carsmall数据集。位移,马力,重量预测的反应英里/加仑

负载carsmallX =(位移马力重量);

增长回归树使用所有的观察。

Mdl = fitrtree (X, MPG);

计算resubstitution MSE。

resubLoss (Mdl)
ans = 4.8952

Unpruned决策树overfit。平衡模型复杂度和样本外性能的一个方法是修剪树(或限制其增长)样本内和样本外,这样的性能是令人满意的。

加载carsmall数据集。位移,马力,重量预测的反应英里/加仑

负载carsmallX =(位移马力重量);Y = MPG;

分区数据训练(50%)和验证(50%)。

n =大小(X, 1);rng (1)%的再现性idxTrn = false (n, 1);idxTrn (randsample (n,圆(0.5 * n))) = true;%训练集逻辑索引idxVal = idxTrn = = false;%验证设置合理的指标

使用训练集的回归树生长。

Mdl = fitrtree (X (idxTrn:), Y (idxTrn));

回归树视图。

视图(Mdl,“模式”,“图”);

图回归树查看器包含一个坐标轴对象和其他对象类型的uimenu, uicontrol。坐标轴对象包含27行类型的对象,文本。一个或多个行显示的值只使用标记

回归树有七个修剪水平。0级是完整的,unpruned树(显示)。7级是根节点(即。,没有分裂)。

检查每个子树的训练样本MSE(或修剪水平)扣除的最高水平。

m = max (Mdl.PruneList) - 1;trnLoss = resubLoss (Mdl,“子树”0米):
trnLoss =7×15.9789 6.2768 6.8316 7.5209 8.3951 10.7452 14.8445
  • 完整的MSE unpruned树大约6单位。

  • 树修剪的MSE一级大约是6.3个单位。

  • 树修剪的MSE 6级(即。树桩)大约是14.8个单位。

检查验证样本MSE每一层不含的最高水平。

valLoss =损失(Mdl X (idxVal:), Y (idxVal),“子树”0米):
valLoss =7×132.1205 31.5035 32.0541 30.8183 26.3535 30.0137 38.4695
  • 完整的MSE, unpruned树(0级)大约是32.1个单位。

  • 树修剪的MSE四级大约是26.4个单位。

  • 树修剪的MSE 5级30.0个单位。

  • 树修剪的MSE 6级(即。树桩)大约是38.5个单位。

平衡模型复杂度和样本外的性能,考虑修剪Mdl4级。

pruneMdl =修剪(Mdl,“水平”4);视图(pruneMdl,“模式”,“图”)

图回归树查看器包含一个坐标轴对象和其他对象类型的uimenu, uicontrol。坐标轴对象包含15线类型的对象,文本。一个或多个行显示的值只使用标记

更多关于

全部展开

扩展功能