[未答复] matlab 交叉验证

[复制链接]
会飞的烤鸭 发表于 2015-7-14 17:23:36
matlab2015版,以下代码中的crossval和kfoldLoss命令有什么区别呢?
另外,就帮助文档来看,crossval返回的应该是误差,例如
load('fisheriris');y = meas(:,1);X = [ones(size(y,1),1),meas(:,2:4)];regf=@(XTRAIN,ytrain,XTEST)(XTEST*regress(ytrain,XTRAIN));cvMse = crossval('mse',X,y,'predfun',regf)cvMse =    0.1015
但是在下面的代码中,返回的却不是。参数不同会导致返回的结果出现什么不同呢?

代码:
clear;clc
load fisheriris
X = meas(:,1:2);Y = categorical(species);
Mdl=fitcknn(X,Y,'NumNeighbors',3,'Standardize',1);
Mdl.NumNeighbors = 3;
rloss=resubLoss(Mdl)
cvmdl=crossval(Mdl,'kfold',10)
kloss=kfoldLoss(cvmdl)


您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表