帮助中心帮助中心
类:ClassificationTree
交叉验证的分类错误
E = cvloss(树)
(E, SE) = cvloss(树)
[E、SE、Nleaf] = cvloss(树)
[E, SE, Nleaf BestLevel] = cvloss(树)
[___] = cvloss(树、名称、值)
E= cvloss (树)返回交叉验证的分类错误(丢失)树,一个分类树。的cvloss方法使用分层划分来创建交叉验证集。也就是说,对于每个折叠,数据的每个分区与用于训练的数据的类比例大致相同树.
E= cvloss (树)
E
树
cvloss
[E,SE) = cvloss (树)返回的标准错误E.
[E,SE) = cvloss (树)
SE
[E,SE,Nleaf) = cvloss (树)的叶的个数树.
[E,SE,Nleaf) = cvloss (树)
Nleaf
[E,SE,Nleaf,BestLevel) = cvloss (树)返回的最佳修剪级别树.
[E,SE,Nleaf,BestLevel) = cvloss (树)
BestLevel
[___) = cvloss (树,名称,值)使用由一个或多个选项指定的附加选项进行交叉验证名称,值对参数,使用任何前面的语法。可以以任意顺序指定多个名值对参数Name1, Value1,…,的家.
[___) = cvloss (树,名称,值)
名称,值
Name1, Value1,…,的家
全部展开
ClassificationTree
训练过的分类树,指定为ClassificationTree生成的模型对象fitctree.
fitctree
指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。
Name1 = Value1,…,以=家
的名字
价值
在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。
子树
“所有”
修剪级别,指定为逗号分隔的对,由“子树”和一个由非负整数按升序或“所有”.
“子树”
如果指定了一个向量,那么所有元素必须是至少的0在大多数马克斯(tree.PruneList).0指示未修剪的完整树和马克斯(tree.PruneList)表示完全修剪的树(即仅根节点)。
0
马克斯(tree.PruneList)
如果您指定“所有”,然后cvloss操作所有子树(即整个修剪序列)。这个规范相当于使用0:马克斯(tree.PruneList).
0:马克斯(tree.PruneList)
cvloss李子树中所示的每一级子树,然后估计相应的输出参数。的大小子树确定一些输出参数的大小。
调用子树,属性PruneList而且PruneAlpha的树必须非空的。换句话说,就是成长树通过设置“删除”,“上”,或通过修剪树使用修剪.
PruneList
PruneAlpha
“删除”,“上”
修剪
例子:“子树”,“所有”
“子树”,“所有”
数据类型:单|双|字符|字符串
单
双
字符
字符串
TreeSize
“本身”
“最小值”
树大小,指定为以下值之一:
“本身”- - - - - -cvloss使用最小树,其代价在最小代价的一个标准误差内。
“最小值”- - - - - -cvloss使用最小代价树。
例子:“TreeSize”,“最小值”
“TreeSize”,“最小值”
KFold
交叉验证样本的数量,指定为大于1的正整数。
例子:“KFold”,8
“KFold”,8
的设置,作为向量或标量返回的交叉验证分类错误(丢失)子树名称-值对。
的标准误差E属性的设置作为向量或标量返回子树名称-值对。
中的叶节点数树属性的设置作为向量或标量返回子树名称-值对。叶节点是终端节点,它给出分类,而不是分割。
最佳修剪级别,作为标量值返回。默认情况下,表示达到值的最大修剪级别的标量E在SE最小误差。如果你设置TreeSize来“最小值”,BestLevel最小的值在吗子树.
计算默认分类树的交叉验证错误。
加载电离层数据集。
电离层
负载电离层
使用整个数据集生成一个分类树。
Mdl = fitctree (X, Y);
计算交叉验证误差。
rng (1);%的再现性E = cvloss (Mdl)
E = 0.1168
E是10倍的错误分类错误。
应用k-fold交叉验证,为所有子树找到修剪分类树的最佳级别。
使用整个数据集生成一个分类树。查看生成的树。
Mdl = fitctree (X, Y);视图(Mdl,“模式”,“图”)
计算除最高修剪级别外的每个子树的5倍交叉验证误差。指定返回所有子树的最佳修剪级别。
rng (1);%的再现性m = max(mml . prunelist) - 1
m = 7
[E, ~, ~, bestLevel] = cvloss (Mdl,“子树”, 0: m,“KFold”5)
E =8×10.1282 0.1254 0.1225 0.1282 0.1282 0.1197 0.0997 0.1738
bestLevel = 6
的7修剪水平,最好的修剪水平是6.
7
6
把这棵树修剪到最好的水平。查看生成的树。
MdlPrune =修剪(Mdl,“水平”, bestLevel);视图(MdlPrune,“模式”,“图”)
您可以用crossval,叫kfoldLoss而不是cvloss.如果您要检查交叉验证的树不止一次,那么替代方案可以节省时间。
crossval
kfoldLoss
但是,与cvloss,kfoldLoss不返回SE,Nleaf,或BestLevel.kfoldLoss也不允许您检查除分类错误以外的任何错误。
该功能完全支持GPU阵列。有关更多信息,请参见在图形处理器上运行MATLAB函数(并行计算工具箱).
fitctree|crossval|损失|kfoldLoss
损失
您有了这个示例的修改版本。您想用您的编辑打开这个示例吗?
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:.
您也可以从以下列表中选择网站:
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。
联系当地办事处