How do I implement Linear regression with leave-one-out cross validation in MATLAB?
Mostra commenti meno recenti
I have a data set of 87 variables and 1 outcome where all are continuous. I need to use linear regression with leave-one-out cross validation to create a model/equation with prediction's accuracy, sensitivity, and specificity.
- Can I use Regression Learner app for this? If yes how to get quation from a created model in Regression Learner app?
- Can/Should I use cross validation to divide my data set and get the results?
- Is there any code sample on how to go about doing this? (I'm new to all of this)
- Should I be using stepwiselm or fitlm or glmfit/glmval? What's the difference and how do I choose?
Risposta accettata
Più risposte (1)
Satadru Mukherjee
il 29 Ott 2020
Demo code of Implementation linear regression with leave-one-out cross validation in MATLAB
Note: I have tried to avoid the inbuilt functions to create the model or to cross validate or to calculate coefficient of determination , so that we can get the complete feeling out of the code:-)
clc
clear all
close all
warning off
data=readtable('Leave_One_Out.csv');
x=table2array(data(:,1))';
y=table2array(data(:,2))';
n=length(x);
predictions=[];
for p=1:n
trainindex=setdiff(1:n,p);
testindex=p;
xtrain=x(trainindex);
ytrain=y(trainindex);
xtest=x(testindex);
a=[];
for i=1:length(xtrain)
a=[a ; xtrain(i) 1];
end
c =a\ytrain';
ytest = c(1)*xtest + c(2);
predictions=[predictions ytest];
end
r=y-predictions;
r=r.^2;
rsq=(1-(sum(r)/sum((y-mean(y)).^2)))*100;
disp(rsq);
Categorie
Scopri di più su Linear Regression in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!