How do I create a cross validated linear regression model with fitlm ?
17 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I would like to know how I can perform cross validation on a fitlm model. All other functions for regression models support KFold as a function object. How does KFold work with fitlm as there is noch function object for cross validation implemented. I also tried crossval on a trained fitlm model which didn't work either. I hope someone can help me with my problem.
0 commentaires
Réponses (1)
Shubham Srivastava
le 14 Fév 2017
You can perform a K-fold cross validation for the 'fitlm' function into K folds using the 'crossval' function. In order to do so, define a predictor function handle which uses 'fitlm' and then pass the predictor function handle to the 'crossval' function.
Mentioned below is a sample code snippet to do so:
% prediction function given training and testing instances
>> fcn = @(Xtr, Ytr, Xte) predict( fitlm(Xtr,Ytr), Xte);
% perform cross-validation, and return average MSE across folds
>> mse = crossval('mse', X, Y,'Predfun',fcn, 'kfold',10);
% compute root mean squared error
>> avrg_rmse = sqrt(mse)
Regards,
Shubham
2 commentaires
Mattias Blomfors
le 6 Sep 2017
I share the same question as Mara. How do I use the cross validated trained model to make predictions? Also, how to get the parameters for the linear model?
Voir également
Catégories
En savoir plus sur Gaussian Process Regression dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!