主要内容

cvloss

类:RegressionTree

交叉验证的回归误差

语法

E = cvloss(树)
(E, SE) = cvloss(树)
[E、SE、Nleaf] = cvloss(树)
[E, SE, Nleaf BestLevel] = cvloss(树)
(E,…] = cvloss(树、名称、值)

描述

E= cvloss (的交叉验证回归错误(损失),回归树。

ESE) = cvloss (返回的标准错误E

ESENleaf) = cvloss (中的叶节点(终端节点)的数量

ESENleafBestLevel) = cvloss (的最佳修剪级别

E,...) = cvloss (名称,值使用一个或多个指定的附加选项进行交叉验证名称,值对参数。可以以任意顺序指定多个名称-值对参数Name1, Value1,…,的家

输入参数

全部展开

训练的回归树,指定为RegressionTree对象构造使用fitrtree

名称-值参数

指定可选的逗号分隔的对名称,值参数。的名字参数名和价值为对应值。的名字必须出现在引号内。可以以任意顺序指定多个名称和值对参数Name1, Value1,…,的家

修剪级别,指定为逗号分隔的对,由“子树”一个非负整数的升序或向量“所有”

如果指定一个向量,则所有元素必须至少为0在大多数马克斯(tree.PruneList)0表示完整的、未修剪的树马克斯(tree.PruneList)表示被完全修剪的树(即根节点)。

如果您指定“所有”,然后cvloss操作所有的子树(即,整个修剪序列)。这个规范等同于使用0:马克斯(tree.PruneList)

cvloss李子的每一层子树,然后估计相应的输出参数。的大小子树确定某些输出参数的大小。

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

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

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

树大小,指定为逗号分隔对,由“TreeSize”以及以下其中之一:

  • “本身”- - - - - -cvloss使用最小树,其代价在最小代价的一个标准误差之内。

  • “最小值”- - - - - -cvloss使用最小成本树。

要在交叉验证的树中使用的折叠数,指定为逗号分隔的对,由“KFold”和一个大于1的正整数。

例子:“KFold”,8

输出参数

全部展开

交叉验证均方误差(损失),返回为矢量或标量,这取决于子树名称-值对。

的标准误差E的设置,返回为向量或标量子树名称-值对。

叶节点的数量的设置,返回为向量或标量子树名称-值对。叶节点是终端节点,它给出响应,而不是分割。

中定义的最佳修剪级别TreeSize名称-值对,作为其值依赖于的标量返回TreeSize

  • 如果TreeSize“本身”,然后BestLevel达到的最大修剪级别是否为ESE最小误差。

  • 如果TreeSize“最小值”,然后BestLevel最小值在子树

例子

全部展开

计算默认回归树的交叉验证错误。

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

负载carsmallX =[排量马力重量];

使用整个数据集生长回归树。

Mdl = fitrtree (X, MPG);

计算交叉验证错误。

rng (1);%的再现性E = cvloss (Mdl)
E = 27.6976

E是10倍加权的平均MSE(按折叠中测试观察的数量加权)。

应用k-fold交叉验证,以找到最佳水平修剪回归树的所有子树。

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

负载carsmallX =[排量马力重量];

使用整个数据集生长回归树。查看结果树。

Mdl = fitrtree (X, MPG);视图(Mdl,“模式”“图”

图回归树查看器包含一个轴对象和其他类型的uimenu, uicontrol对象。axis对象包含60个类型为line, text的对象。

计算除前两个最低和最高修剪级别外的每一个子树的5倍交叉验证错误。指定返回所有子树的最佳修剪级别。

rng (1);%的再现性m = max(Mdl.PruneList) - 1
m = 15
[~, ~, ~, bestLevel] = cvloss (Mdl,“子树”, 2: m,“KFold”5)
bestLevel = 14

15修剪水平,最好的修剪水平是14

把树修剪到最好的水平。查看结果树。

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

图回归树查看器包含一个轴对象和其他类型的uimenu, uicontrol对象。axis对象包含12个类型为line, text的对象。

选择

您可以使用以下工具构建一个交叉验证的树模型crossval,叫kfoldLoss而不是cvloss.如果您打算多次检查交叉验证的树,那么替代方法可以节省时间。

但是,与cvlosskfoldLoss不返回SENleaf,或BestLevel

扩展功能