www.gusucode.com > stats 源码程序 matlab案例代码 > stats/PredictCrossValidatedResponsesExample.m

    %% Predict Cross-Validated Responses
%%
% Simulate 10000 observations from this model
%
% $$y = x_{100} + 2x_{200} + e.$$
%
%
% * $X = {x_1,...,x_{1000}}$ is a 10000-by-1000 sparse matrix with 10%
% nonzero standard normal elements.
% * _e_ is random normal error with mean 0 and standard deviation
% 0.3.
%
rng(1) % For reproducibility
n = 1e4;
d = 1e3;
nz = 0.1;
X = sprandn(n,d,nz);
Y = X(:,100) + 2*X(:,200) + 0.3*randn(n,1);
%%
% Cross-validate a linear regression model.  
CVMdl = fitrlinear(X,Y,'CrossVal','on')
Mdl1 = CVMdl.Trained{1}
%%
% By default, |fitrlinear| implements 10-fold cross-validation. |CVMdl| is
% a |RegressionPartitionedLinear| model. It contains the property
% |Trained|, which is a 10-by-1 cell array holding 10 |RegressionLinear|
% models that the software trained using the training set.

%%
% Predict responses for observations that |fitrlinear| did not use in
% training the folds.
yHat = kfoldPredict(CVMdl);
%%
% Because there is one regularization strength in |Mdl|, |yHat| is a
% numeric vector.