How to regularize a machine learning algorithm or a function with respect to some data points that I have chosen on my own

3 次查看(过去 30 天)
I have a set of points that I use as a training set on which then a regression will be built, at this point I want to regularize the regression with respect to points that I choose. in the 1D case the idea is to fit a line on a few points, then add more points and correct the slope of the line( lasso algorithm), but I have no idea how to do that because in matlab I can't find this option as I only have the cross validation option, instead I want to choose my validation set on which to regularize the regression.

回答(1 个)

ag
ag 2023-9-12
Hi Luca,
I understand that you need to use specific data points of your choice as the validation set for your regression model.
There are multiple ways to achieve this, some of them are
  • You can split your dataset into training’, validation, and testing sets according to your requirements before feeding it to the model.
The code snippet below demonstrates how to split a dataset into 70% for training, 15% for validation, and 15% for testing:
[r,c] = size(dataset) ;
split1 = 0.70 ; split2 = 0.85 ; %split percentages
idx = randperm(r) ; %to shuffle the rows
m = round(split1*r) ; n = round(split2*r) ;
Training = dataset(idx(1:m),:) ;
Validation = dataset(idx(m+1:n),:) ;
Testing = dataset(idx(n+1:end),:) ;
  • You can use the ‘cvpartition’ MATLAB function.
  • You can utilize the Set aside a test data set feature in the Regression Learner App.
For more details, please refer the following MATLAB documentation
  1. https://www.mathworks.com/help/stats/cvpartition.html
  2. https://www.mathworks.com/help/stats/train-regression-model-using-hyperparameter-optimization-in-regression-learner-app.html
Hope this helps! 
Best Regards, Aryan Gupta 

类别

Help CenterFile Exchange 中查找有关 Gaussian Process Regression 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by