resubLoss
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,名称,值)
描述
返回resubstitution损失,这意味着损失计算的数据l
= resubLoss (树
)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
模型对象
回归树(RegressionTree
使用模型对象)构造fitrtree
。
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
LossFun
- - - - - -损失函数
mse的
(默认)|函数处理
名称,值
参数与修剪树:
子树
- - - - - -修剪水平
0(默认)|向量的非负整数|“所有”
修剪水平,指定为逗号分隔组成的“子树”
和一个向量的非负整数按升序或“所有”
。
如果您指定一个矢量,然后所有的元素都必须至少0
在大多数马克斯(tree.PruneList)
。0
显示完整的,unpruned树马克斯(tree.PruneList)
表示完全修剪树(即。,只有根节点)。
如果您指定“所有”
,然后resubLoss
运行在所有子树(即。,the entire pruning sequence). This specification is equivalent to using0:马克斯(tree.PruneList)
。
resubLoss
李子树
每个级别表示子树
,然后估计相应的输出参数。的大小子树
确定一些输出参数的大小。
调用子树
,属性PruneList
和PruneAlpha
的树
必须非空的。换句话说,成长树
通过设置“删除”,“上”
,或者通过修剪树
使用修剪
。
例子:“子树”,“所有”
数据类型:单
|双
|字符
|字符串
TreeSize
- - - - - -树的大小
“本身”
(默认)|“最小值”
树的大小,指定为以下之一:
“本身”
- - - - - -损失
回报最高的修剪与损失在一个最低的标准偏差(l
+se
,在那里l
和se
与最小的价值子树
)。“最小值”
- - - - - -损失
返回的元素子树
用最小的损失,通常的最小元素子树
。
输出参数
l
——回归损失
数字矢量的积极的价值观
回归损失(均方误差),一个向量的长度子树
。错误的意义取决于价值观权重
和LossFun
。
se
-标准错误的损失
数字矢量的积极的价值观
标准错误的损失,一个向量的长度子树
。
NLeaf
——数量的叶子
数值向量的非负整数
数量的叶子在修剪树(终端节点),一个向量的长度子树
。
bestlevel
——最优修剪水平
非负数字标量
一个标量,其价值取决于TreeSize
:
TreeSize
=“本身”
- - - - - -损失
回报最高的修剪与损失在一个最低的标准偏差(l
+se
,在那里l
和se
与最小的价值子树
)。TreeSize
=“最小值”
- - - - - -损失
返回的元素子树
用最小的损失,通常的最小元素子树
。
例子
计算样本的均方误差
加载carsmall
数据集。位移
,马力
,重量
预测的反应英里/加仑
。
负载carsmallX =(位移马力重量);
增长回归树使用所有的观察。
Mdl = fitrtree (X, MPG);
计算resubstitution MSE。
resubLoss (Mdl)
ans = 4.8952
检查每个子树的MSE
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,“模式”,“图”);
回归树有七个修剪水平。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个单位。
平衡模型复杂度和样本外的性能,考虑修剪Mdl
4级。
pruneMdl =修剪(Mdl,“水平”4);视图(pruneMdl,“模式”,“图”)
更多关于
损失函数
内置的损失函数mse的
,这意味着均方误差。
写你自己的损失函数,创建一个函数文件的形式
损失函数=lossfun(Y, Yfit W)
N
的行数树
。X
。Y
是一个N
元向量代表观察到的反应。Yfit
是一个N
元向量代表预测反应。W
是一个N
元代表观察权重向量。输出
损失
应该是一个标量。
通过函数处理@
的价值lossfun
LossFun
名称-值对。
扩展功能
GPU数组
加速代码运行在一个图形处理单元(GPU)使用并行计算工具箱™。
这个函数完全支持GPU数组。金宝app有关更多信息,请参见运行在GPU MATLAB函数(并行计算工具箱)。
另请参阅
Beispiel offnen
您有一张这本Beispiels geanderte版本。您这本Beispiel麻省理工学院古老Anderungen offnen吗?
MATLAB-Befehl
您有窗户的链接geklickt,汪汪汪der diesem MATLAB-Befehl entspricht:
在das MATLAB-Befehlsfenster Fuhren您窝Befehl军队Eingabe来自。浏览器unterstutzen MATLAB-Befehle。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。