文档帮助中心
的损失k-最近邻分类器
L = resubLoss (mdl)
L = resubLoss (mdl LossFun, LossFun)
例子
l= resubLoss (mdl)返回分类损失通过重新替换,这是对使用的数据计算的损失fitcknn创建mdl.
l= resubLoss (mdl)
l
mdl
fitcknn
分类损失(l)是一个数值标量,其解释取决于损失函数和中观测权值mdl.
l= resubLoss (mdl“LossFun”,lossfun)返回丢失函数的重新替换丢失lossfun,指定为名称-值对参数。
l= resubLoss (mdl“LossFun”,lossfun)
lossfun
全部折叠
创建一个k- Fisher虹膜数据的最近邻分类器,其中 k = 5。
加载Fisher虹膜数据集。
负载fisheriris
为五个最近的邻居创建一个分类器。
mdl = fitcknn(量、种类、“NumNeighbors”5);
检查分类器的重新替换损失。
L = 0.0333
分类器预测1/30的训练数据有错误的分类。
ClassificationKNN
k-最近邻分类器模型,指定为ClassificationKNN对象。
“mincost”
“binodeviance”
“classiferror”
“指数”
“枢纽”
分对数的
“二次”
损失函数,指定为内置的损失函数名称或函数句柄。
下表列出了可用的损耗函数。
“mincost”适用于后验概率的分类分数。默认情况下,k最近邻模型返回后验概率作为分类分数(见预测)。
预测
可以使用以下命令为自定义损失函数指定函数句柄@(例如,@lossfun)。让n是观测的次数X和K为不同类别的数目(元素个数(mdl.ClassNames))。您的自定义损失功能必须有以下表格:
@
@lossfun
X
元素个数(mdl.ClassNames)
函数lossvalue = lossfun(C,S,W,Cost)
C是一个n——- - - - - -K逻辑矩阵,其行表示相应的观测所属的类。中的列顺序对应于类的顺序mdl。ClassNames.构造C通过设置C (p, q) = 1,如果观察p是在课堂上问,每一行。设置行中的所有其他元素p来0.
C
mdl。ClassNames
C (p, q) = 1
p
问
0
年代是一个n——- - - - - -K分类分数的数值矩阵。中的列顺序对应于类的顺序mdl。ClassNames.这个论点年代是一个矩阵的分类分数,类似于输出预测.
年代
W是一个n-乘1数值向量的观测权值。如果你通过W,软件将权重归一化1.
W
1
成本是一个K——- - - - - -K误分类代价的数值矩阵。例如,Cost = ones(K) - eye(K)指定0正确分类及1误分类。
成本
Cost = ones(K) - eye(K)
输出参数lossvalue是一个标量。
lossvalue
有关损失函数的详细信息,请参见分类损失.
数据类型:字符|字符串|function_handle
字符
字符串
function_handle
分类损失函数测量分类模型的预测不准确性。当你在许多模型中比较同一类型的损失时,损失越低表明预测模型越好。
考虑以下场景。
l为加权平均分类损失。
n为样本量。
二进制分类:
yj是被观察的类标签。软件将其编码为-1或1,分别表示阴性或阳性类别。
f(Xj)为观察(行)的原始分类评分j预测数据的X.
米j=yjf(Xj)为分类观察的分类评分j对应的类yj.积极的价值观米j表明正确的分类,对平均损失贡献不大。负的米j指出错误的分类,并对平均损失有很大的贡献。
对于支持多类分类的算法(即,万博1manbetxK≥3):
yj*是向量K- 1个零,1在对应于真实的,观察类的位置yj.例如,如果第二个观察的真正类是第三类和K= 4,然后y*2=[0 0 1 0] '。类的顺序对应于一会输入模型的属性。
一会
f(Xj)为长度K用于观察的班级分数向量j预测数据的X.分数的顺序与表中班级的顺序相对应一会输入模型的属性。
米j=yj*′f(Xj)。因此,米j是模型对真实的、观察到的类所预测的标量分类分数。
观测权重j是wj.该软件将观测权值归一化,使其和为相应的先验类别概率。软件还将先验概率归一化,使其和为1。因此,
∑ j = 1 n w j = 1.
给定此场景,下表描述了支持的损失函数,可以使用万博1manbetx“LossFun”名称-值对的论点。
“LossFun”
LossFun
l = ∑ j = 1 n w j 我 { y ^ j ≠ y j } .
它是误分类观察的加权分数 y ^ j 为后验概率最大的类对应的类标签。我{x}是指示函数。
最小的成本。该软件利用这一程序计算加权最小成本的观测j= 1,…,n.
估计1 -K预期的观察分类成本向量j:
γ j = f ( X j ) ′ C .
f(Xj)为二类和多类分类的类后验概率列向量。C输入模型中存储的成本矩阵成本财产。
为观察j,预测分类标签对应的最小期望分类成本:
y ^ j = 最小值 j = 1 , ... , K ( γ j ) .
使用C,确认已发生的成本(cj)做了预测。
加权平均最小成本损失为
l = ∑ j = 1 n w j c j .
这个数字比较的损失函数(除了“mincost”)进行一次观察米.一些函数被归一化通过[0,1]。
两种成本与KNN分类相关:每类的真实误分类成本和每观察的预期误分类成本。
属性可以设置每个类的真正误分类代价“成本”运行时的名称-值对参数fitcknn.的值成本(i, j)将观察结果分类的成本是多少j如果它真正的阶级是我.默认情况下,成本(i, j) = 1如果我~ = j,成本(i, j) = 0如果我=我.换句话说,成本是0正确分类及1不正确的分类。
“成本”
成本(i, j)
j
我
成本(i, j) = 1
我~ = j
成本(i, j) = 0
我=我
两种成本与KNN分类相关:每类的真实误分类成本和每观察的预期误分类成本。的第三个输出resubPredict为每次观测的预期误分类成本。
resubPredict
假设你有脑袋你用训练过的分类器分类的观察结果mdl,而你有K类。命令
脑袋
K
(标签、分数、成本)= resubPredict (mdl)
返回一个矩阵成本的大小脑袋——- - - - - -K,以及其他产出。每一行成本矩阵包含将观察结果分类为每一个的期望(平均)成本K类。成本(n, j)是
成本(n, j)
∑ 我 = 1 K P ^ ( 我 | X ( n ) ) C ( j | 我 ) ,
在哪里
K为类数。
P ^ ( 我 | X ( n ) ) 是后验概率类的我为观察X(n)。
C ( j | 我 ) 对观察进行分类的真正误分类成本是j当它真正的阶级是我.
ClassificationKNN|fitcknn|resubEdge|resubMargin|resubPredict
resubEdge
resubMargin
在您的系统中存在这个示例的修改版本。你想打开这个版本吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系