分类错误
返回一个代表如何标大号
=损失(树
,TBL
,ResponseVarName
)树
分类数据TBL
, 什么时候TBL.ResponseVarName
包含真正的分类。
当计算的损失,失利
标准化在类概率ÿ
以用于培训类的概率,存储在先
财产树
。
失利
回报SE
和进一步输出只有当LossFun
名称 - 值对是默认'classiferror'
。
树
-训练的分类树ClassificationTree
模型对象|CompactClassificationTree
模型对象训练的分类树,指定为ClassificationTree
要么CompactClassificationTree
模型对象。那是,树
是一个训练有素的分类模型由归国fitctree
要么紧凑
。
TBL
-样本数据样本数据,指定为表。每行TBL
对应于一个观测,并且每一列对应于一个预测变量。(可选)TBL
可以包含用于响应变量和权重观察附加列。TBL
必须包含所有用于训练预测树
。多列变量和除字符向量的单元阵列的其他单元阵列是不允许的。
如果TBL
包含用于列车响应变量树
,那么你就需要指定ResponseVarName
要么ÿ
。
如果你训练树
使用包含在采样数据表
,则此方法的输入数据也必须是在表中。
数据类型:表
指定可选的用逗号分隔的对名称,值
参数。名称
是参数的名称和值
是对应的值。名称
必须出现引号内。您可以按照任何顺序指定多个名称和值对参数名1,值1,...,NameN,值N
。
'LossFun'
-损失函数'mincost'
(默认)|'binodeviance'
|'classiferror'
|“指数”
|'合页'
|'Logit模型'
|“二次”
|功能手柄损耗函数,指定为逗号分隔的一对组成的'LossFun'
和一个内置的,亏损函数名或函数句柄。
下表列出了可用的损失函数。利用其对应的字符向量或标量的字符串指定一个。
值 | 描述 |
---|---|
'binodeviance' |
二项式越轨 |
'classiferror' |
分类错误 |
“指数” |
指数 |
'合页' |
合页 |
'Logit模型' |
物流 |
'mincost' |
最小预期误判成本(对于那些后验概率分类分) |
“二次” |
二次 |
'mincost'
适合于那些后验概率分类分数。分类树在默认情况下返回后验概率作为分类的分数(见预测
)。
使用功能句柄符号指定自己的函数。
假设ñ
是观察在数X
和ķ
是不同的类的数量(numel(tree.ClassNames)
)。你的函数必须有这个签名
lossvalue =<Ë米Class="replaceable">lossfun
(C,S,W,成本)
输出参数lossvalue
是一个标量。
你选择的函数名(<Ë米Class="replaceable">lossfun
)。
C
是一个ñ
-通过-ķ
与指示对应的观察属于哪个类别的行逻辑矩阵。列顺序对应于类顺序tree.ClassNames
。
构造C
通过设置C(P,Q)= 1
如果观察p
在类q
,对于每一行。组行的所有其他元素p
至0
。
小号
是一个ñ
-通过-ķ
分类评分的数值矩阵。列顺序对应于类顺序tree.ClassNames
。小号
是分类分数的矩阵,类似于的输出预测
。
w ^
是一个ñ
×1观察权重的数值向量。如果您通过w ^
,软件标准化他们对总和1
。
成本
是<Ë米Class="varname">ķ-通过-ķ
误判成本数字矩阵。例如,成本=酮(K) - 眼(K)
指定的成本0
正确分类,1
对于错误分类。
使用指定功能'LossFun',@<Ë米Class="replaceable">
。lossfun
有关损失功能的更多详细信息,请参阅分类损失。
数据类型:烧焦
|串
|function_handle
“权重”
-观察权重酮(大小(X,1),1)
(默认)|在一个变量名TBL
|正值的数值向量观察权重,指定为逗号分隔的一对组成的“权重”
和正值的数值向量或一个变量的名称中的TBL
。
如果您指定权重
作为数字向量,则尺寸权重
必须等于行中数X
要么TBL
。
如果您指定权重
作为变量的名称中的TBL
,你必须这样做,作为一个特征向量或串标。例如,如果权重被存储为TBL.W
,然后将其指定为'W'
。否则,该软件将所有的列TBL
, 包含TBL.W
,作为预测。
失利
归一化的权重,以便在每一个类和以该类的先验概率的观察权重。当您提供权重
,失利
计算加权分类损失。
数据类型:单
|双
|烧焦
|串
名称,值
与修剪子树相关的参数:
“子树”
-修剪水平'所有'
修剪水平,指定为逗号分隔的一对组成的“子树”
和非负整数的升序排列的载体或'所有'
。
如果指定一个矢量,那么将所有元件必须至少0
在最MAX(tree.PruneList)
。0
指示充分,未修剪的树MAX(tree.PruneList)
表示完全修剪树(即,只是根节点)。
如果您指定'所有'
, 然后失利
运行在所有子树(即,整个修剪序列)。本说明书是等效于使用0:最大(tree.PruneList)
。
失利
梅干树
每个电平表示在子树
,然后估计相应的输出参数。的大小子树
确定的一些输出参数的大小。
要调用子树
,属性PruneList
和PruneAlpha
的树
不能是空的。换句话说,成长树
通过设置“修剪”,“上”
,或通过修剪树
运用修剪
。
例:“子树”,“全部”
数据类型:单
|双
|烧焦
|串
'的TreeSize'
-树的大小'SE'
(默认)|“最小值”
树尺寸,指定为逗号分隔的一对组成的'的TreeSize'
和以下值之一:
'SE'
-失利
返回与损失最小的一个标准差之内的最高水平修剪(大号
+SE
,其中大号
和SE
涉及在最小值子树
)。
“最小值”
-失利
返回的元素子树
具有最小损耗,通常的最小元素子树
。
大号
- 分类损失分类损失时,返回作为矢量的长度子树
。错误的含义取决于价值观权重
和LossFun
。
SE
- 损失的标准误差损失的标准误差,返回作为矢量的长度子树
。
NLeaf
- 叶节点数在修剪子树的叶(终端节点)的数目,返回为矢量的长度子树
。
bestlevel
- 最佳修剪水平作为定义的最佳修剪水平的TreeSize
名称 - 值对,返回一个标量,其价值取决于的TreeSize
:
的TreeSize
='SE'
-失利
返回与损失最小的一个标准差之内的最高水平修剪(大号
+SE
,其中大号
和SE
涉及在最小值子树
)。
的TreeSize
=“最小值”
-失利
返回的元素子树
具有最小损耗,通常的最小元素子树
。
默认,bestlevel
是修剪水平,让损失降到最低的一个标准差之内的损失。
未修剪决策树倾向于过度拟合。到平衡模型的复杂性和外的样本演奏的一种方法是修剪树(或限制其生长),使得样本内和外的样品性能是令人满意的。
加载费舍尔的虹膜数据集。将数据划分为训练(50%)和验证(50%)集。
加载fisheririsN =尺寸(MEAS,1);RNG(1)%用于重现idxTrn =假(N,1);idxTrn(randsample(N,圆形(0.5 * N)))= TRUE;%培训组逻辑指数idxVal = idxTrn == FALSE;%验证组逻辑指数
生成,使用训练集的分类树。
MDL = fitctree(MEAS(idxTrn,:),物种(idxTrn));
查看分类树。
视图(MDL,'模式','图形');
分类树有四个修剪水平。Level 0是满的,未修剪的树(如图显示)。级别3仅仅是根节点(即,没有裂痕)。
检查不包括最高级别的每个子树(或修剪电平)的训练样本分类误差。
M = MAX(Mdl.PruneList) - 1;trnLoss = resubLoss(MDL,“子树”,0:米)
trnLoss =3×10.0267 0.0533 0.3067
有关训练的观察2.7%的满,未修剪的树misclassifies。
树修剪水平1 misclassifies有关训练观察的5.3%。
树修剪到2级(即,残端)有关训练观测30.6%misclassifies。
检查每个级别不包括最高级别的验证样本分类错误。
valLoss =损失(MDL,MEAS(idxVal,:),物种(idxVal),“子树”,0:米)
valLoss =3×10.0369 0.0237 0.3067
有关验证观察的3.7%的满,未修剪的树misclassifies。
树修剪水平1 misclassifies有关验证意见的2.4%。
树修剪到2级(即,残端)有关验证观测30.7%misclassifies。
为了平衡模型的复杂性和外的样品性能,可以考虑修剪MDL
比1平。
pruneMdl =剪枝(MDL,'水平',1);视图(pruneMdl,'模式','图形')
分类损失测量功能分类模型的预测不准确。当你比较同类型的众多车型中的损失,更低的损耗表示更好的预测模型。
请考虑以下情形。
大号是加权平均分类损失。
ñ是样本大小。
对于二元分类:
ÿĴ是所观察到的类的标签。软件代码作为-1或1,分别表示负的或正的类。
F(<Ë米Class="varname">XĴ)是原始分类评分观察(行)<Ë米Class="varname">Ĵ预测数据<Ë米Class="varname">X。
米Ĵ=<Ë米Class="varname">ÿĴF(<Ë米Class="varname">XĴ)是分类评分观察分类<Ë米Class="varname">Ĵ成对应于类<Ë米Class="varname">ÿĴ。为正值<Ë米Class="varname">米Ĵ表明正确分类,也没有太多的平均损失作出贡献。的负值<Ë米Class="varname">米Ĵ表明不正确的分类和平均损失显著贡献。
对于算法,支持多类分类(即,万博1manbetx<Ë米Class="varname">ķ≥3):
ÿĴ*是的向量<Ë米Class="varname">ķ- 1个零,1中的位置对应于所述真实的,观察到的类<Ë米Class="varname">ÿĴ。举例来说,如果真类的第二观察是第三类和<Ë米Class="varname">ķ= 4,然后<Ë米Class="varname">ÿ*2= [0 0 1 0]'。类的顺序对应于订单类名
输入模型的属性。
F(<Ë米Class="varname">XĴ)是长度<Ë米Class="varname">ķ级得分进行观察的矢量<Ë米Class="varname">Ĵ预测数据<Ë米Class="varname">X。分数的顺序对应于类的顺序类名
输入模型的属性。
米Ĵ=<Ë米Class="varname">ÿĴ*“<Ë米Class="varname">F(<Ë米Class="varname">XĴ)。因此,<Ë米Class="varname">米Ĵ是标分类评分模型预测为真,观察到的类。
观察权重<Ë米Class="varname">Ĵ是<Ë米Class="varname">w ^Ĵ。让他们总结到相应的现有类概率软件标准化观察权重。该软件还规范了先验概率,使他们和为1。因此,
鉴于这种情况下,下表描述了支持的损失的功能,你可以通过使用指定万博1manbetx'LossFun'
名称 - 值对的参数。
损失函数 | 的价值LossFun |
方程 |
---|---|---|
二项式越轨 | 'binodeviance' |
|
指数损失 | “指数” |
|
分类错误 | 'classiferror' |
它是错误分类的观察,其中的加权分数 是对应于具有最大后验概率的类的类的标签。<Ë米Class="varname">一世{<Ë米Class="varname">X}是指示符函数。 |
铰链损失 | '合页' |
|
Logit模型损失 | 'Logit模型' |
|
最低的成本 | 'mincost' |
最小成本。该软件计算使用此过程的观测加权最小代价<Ë米Class="varname">Ĵ= 1,...,<Ë米Class="varname">ñ。
加权平均,最小成本损失是
|
二次损失 | “二次” |
该图比较了损失功能(除了'mincost'
)为一个以上的观察<Ë米Class="varname">米。一些功能被归一化到穿过[0,1]。
有与分类相关的两个成本:每类真正误判的成本,以及每观察预期的误判成本。
您可以设置在每类中的真实误分类代价成本
名称 - 值对,当您使用创建的分类fitctree
方法。成本(I,J)
是观察到等级分级的成本Ĵ
如果它的真实类一世
。默认,成本(I,J)= 1
如果I〜= j的
和成本(I,J)= 0
如果我= j的
。换句话说,成本0
正确分类,1
不正确的分类。
有与分类相关的两个成本:每类真正误判的成本,以及每观察预期的误判成本。
假设你有NOBS
要与训练的分类进行分类观察。假设你有ķ
类。您将观察到一个矩阵Xnew
每行一个观察。
预期成本矩阵CE
有大小NOBS
-通过-ķ
。每行CE
包含观察分类到每个的预期(平均)成本ķ
类。CE(N,K)
是
哪里
ķ是的类的数量。
是类的后验概率<Ë米Class="varname">一世观察<Ë米Class="varname">Xnew(<Ë米Class="varname">ñ)。
为观察作为分类的真实成本误判<Ë米Class="varname">ķ当其真正的类<Ë米Class="varname">一世。
对于绿树成荫,<Ë米Class="firstterm">得分叶节点的分类的是在该节点分类的后验概率。在节点分类的后验概率是训练序列的数目铅与分类该节点,通过训练序列的铅的数量,以该节点划分。
例如,考虑分类的预测X
如真正
什么时候X
<0.15
要么X
>0.95
和X
是假的,否则。
生成100个随机点,它们归类:
RNG(0,“扭腰”)%,持续重现X =兰特(100,1);Y =(ABS(X - 0.55)> 0.4);树= fitctree(X,Y);视图(树,'模式','图形')
修剪树:
树1 =剪枝(树,'水平',1);视图(树1,'模式','图形')
该修剪树正确分类是小于0.15的意见真正
。它还正确分类,从0.15到0.94的意见假
。但是,它错误地归类是大于0.94的意见假
。因此,该分数是大于0.15应为约0.05 / 0.85 = 0.06的观测真正
和约0.8 / 0.85 = 0.94对假
。
计算预测得分前10行的X
:
[〜,得分=预测(树1,X(1:10));[得分X(1:10,:)]
ANS =10×30.9059 0.0941 0.8147 0.9059 0.0941 0.9058 1.0000 0 0.1270 0.9059 0.0941 0.9134 0.9059 0.0941 0.6324 1.0000 0 0.0975 0.9059 0.0941 0.2785 0.9059 0.0941 0.5469 0.9059 0.0941 0.9575 0.9059 0.0941 0.9649
事实上,每一个值X
(最右列),其小于0.15具有相关联的得分(左边和中间列)0
和1
,而其它值X
有相关的分数0.91
和0.09
。所不同的(得分0.09
而不是预期的0.06
)是由于统计波动:有8
在观察X
在范围内(.95,1)
而不是预期的五
观察结果。
您单击对应于该MATLAB命令的链接:
在MATLAB命令窗口中输入它运行的命令。Web浏览器不支持MATLAB的命令。万博1manbetx
您还可以选择从下面的列表中的网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。