如何在matlab中选择交叉验证的最佳模型?

如何在matlab中选择交叉验证的最佳模型?,matlab,svm,cross-validation,Matlab,Svm,Cross Validation,我有两个数据集,我想通过其中一个训练SVM分类模型(fitcsvm),然后预测另一个的标签。我使用10倍交叉验证(crossval)来训练我的模型,因此我有10个不同的模型。我的问题是,这些模型中哪一个最适合预测,我如何才能找到它? 这是我的密码: Mdl = fitcsvm(trainingData,labels); CVMdl = crossval(Mdl); 你可能把这里的事情弄混了。该函数训练单个模型,并验证该单个模型。然后它将返回一个评估值 通常,您不能通过交叉验证来训练模型(正

我有两个数据集,我想通过其中一个训练SVM分类模型(
fitcsvm
),然后预测另一个的标签。我使用10倍交叉验证(
crossval
)来训练我的模型,因此我有10个不同的模型。我的问题是,这些模型中哪一个最适合预测,我如何才能找到它? 这是我的密码:

Mdl = fitcsvm(trainingData,labels);
CVMdl = crossval(Mdl);  

你可能把这里的事情弄混了。该函数训练单个模型,并验证该单个模型。然后它将返回一个评估值

通常,您不能通过交叉验证来训练模型(正如它所说,这是一种验证技术)。但是,您可以使用交叉验证来训练好的模型

你要找的是一种。这些方法可以在给定数据集上自动训练多个模型,以找到支持向量机的最佳调整值。看一下这些文件

你可以这样打开它

Mdl = fitcsvm(trainingData,labels,'OptimizeHyperparameters','auto')
您可能希望使用交叉验证来训练具有相同调优参数的多个模型,但我想,您必须自己编写这篇文章。也许这已经对你有所帮助了