【发布时间】:2016-05-24 21:47:45
【问题描述】:
假设我们在 MATLAB R2015b 中有这段代码:
SVMModel = fitcsvm(INPUT, output,'KernelFunction','RBF','BoxConstraint',1);
CVSVMModel = crossval(SVMModel);
z = kfoldLoss(CVSVMModel)
在第一行使用由孔数据训练的
fitcsvm模型。在fitcsvm中将Crossval设置为on的目的是什么(默认情况下,我们使用此选项进行10 倍交叉验证)?crossval和kfoldLoss使用与上述相同的方法?如果是,为什么 MATLAB 文档只提到此方法而不是设置Crossval方法进行交叉验证?如果这些程序相同,我们如何使用第一个程序获得错误率?当我们要预测特征(这是一个预测模型)时,我们需要使用用洞数据训练的模型(这里是
SVMModel对象)?所以crossval和kfoldLoss仅用于计算误差,我们没有使用此验证方法的 10 个训练模型进行预测。这是真的吗?使用整个数据对神经网络模型有效吗?
【问题讨论】:
标签: matlab machine-learning svm cross-validation supervised-learning