如何通过超参数调整获得唯一答案



我想在matlab中训练SVM分类器,并通过K-fold交叉验证为其找到最佳超参数,然后使用该模型为另一个数据集找到分类精度。所以我写了以下代码:

Mdl = fitcsvm(trainingData,labels,'OptimizeHyperparameters','auto',...
'HyperparameterOptimizationOptions',struct('Optimizer','gridsearch','AcquisitionFunctionName',...
'expected-improvement-per-second','MaxObjectiveEvaluation',10,'ShowPlots',false,'Verbose',0));
label = predict(Mdl,testData);  

我的问题是,每次我运行这个代码,然后计算分类精度,我都会得到不同的结果。问题出在哪里?我该怎么修?任何想法我都会感激的。

名称包含每秒的采集函数不会产生可重复的结果,因为优化取决于目标函数的运行时间。查看页面https://it.mathworks.com/help/stats/bayesian-optimization-workflow.html

最新更新