how to predict response using test data after using 'KFold ', 5 in case of SVM
2 views (last 30 days)
Show older comments
Hi there...after training a model using following code Mdl = fitrsvm(predictortrain,response,'standardize', true, 'kFold', 5) now kindly tell me how can i calculate the response using 'Kfoldpredict' instead of predict and which parameter i have to pass for 'Kfoldpredict'. as i have seperate data for testing kindly let me know if you have any solution.
2 Comments
Muhammad Kashif
on 27 Sep 2018
if you want to use the 'Kfoldpredict' you need to do some step before, i will post an example.
Answers (2)
Muhammad Kashif
on 27 Sep 2018
once you trained the model. now you want to use 'Kfoldpredict', first you validate your model. e.g;
Mdl = fitcecoc(features_train,labels_train,'Learners',t,'FitPosterior',1,...
'ClassNames',{'1','2','3','4','5','6','7'},...
'Verbose',2);
CVMdl = crossval(Mdl); % cross- validate Mdl
oosLoss = kfoldLoss(CVMdl);
label = predict(Mdl,features_test); % if want to predict
oofLabel = kfoldPredict(CVMdl);
i hope itwill help you.
7 Comments
Tanvir Kaisar
on 26 Feb 2019
Saba, I am facing the same problem. Did you find the solution to your problem? Can you please share it?
Mohsin Khan
on 24 Nov 2019
Edited: Mohsin Khan
on 24 Nov 2019
You are not setting the right number of parameters;
Try this, will get right output with 5-fold
Mdl = fitrsvm(predictortrain,response,'standardize', true);
CVMdl = crossval(Mdl, 'kfold', 5);
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!