kfoldfun

交叉验证功能

描述

瓦尔斯= kfoldfun(CVMdl开玩笑交叉验证功能开玩笑通过应用开玩笑存储在交叉验证模型中的数据CVMdl。你必须通过开玩笑作为一个函数句柄。

输入参数

展开全部

交叉验证功能,指定为函数句柄。开玩笑有语法

testvals =乐趣(CMP,Xtrain,Ytrain,Wtrain,XTEST,Ytest,W测试)
  • CMP被存储在所述一个元件的紧凑模型CVMdl.Trained属性。

  • Xtrain是预测值的训练矩阵。

  • Ytrain是响应值的训练阵列。

  • Wtrain是观察训练权重。

  • XTESTYtest是所述测试数据,与关联的权重W测试

  • 返回值testvals需要跨越所有的折叠尺寸相同。

数据类型:function_handle

输出参数

展开全部

交叉验证的结果,返回一个数字矩阵。瓦尔斯是阵列testvals输出,纵向级联在所有的折叠。例如,如果testvals从每一个折叠是长度的数值向量ñkfoldfun回报KFold-通过-ñ数字矩阵,每倍一行。

数据类型:

例子

展开全部

训练分类树分类,然后使用自定义交叉验证ķ倍丧失功能。

加载费舍尔的虹膜数据集。

加载fisheriris

训练分类树分类。

MDL = fitctree(MEAS,物种);

MDLClassificationTree模型。

交叉验证MDL使用默认的10倍交叉验证。计算所述乱倍观测分类误差(错误分类观测的比例)。

RNG(1);%用于重现CVMdl = crossval(MDL);L = kfoldLoss(CVMdl)
L = 0.0467

检查结果时误分为花的成本“花斑癣”10和任何其它错误是1。写调用的函数noversicolor.m该属性的成本1对于错误分类,但10对于误分为花为云芝,并将其保存在您的MATLAB®路径。

功能averageCost = noversicolor(CMP,Xtrain,Ytrain,Wtrain,XTEST,Ytest,W测试)%noversicolor实施例定制的交叉验证功能%属性为10的成本误分类云芝虹膜,和1%其他虹膜。这个例子功能要求| fisheriris |数据%设定。Ypredict =预测(CMP,XTEST);错误分类的未=(的strcmp(Ypredict,Ytest));%不同的结果classifiedAsVersicolor =的strcmp(Ypredict,“花斑癣”);错误决定指数%成本=总和(错误分类)+...9 *总和(错误分类&classifiedAsVersicolor);%总计差异averageCost =成本/ numel(Ytest);%平均误差结束

计算与平均误分noversicolor成本。

平均(kfoldfun(CVMdl,@ noversicolor))
ANS = 0.2267