主要内容

kfoldPredict

预测未用于训练的观察结果的反应

描述

例子

YHat= kfoldPredict (CVMdl通过交叉验证的线性回归模型返回交叉验证的预测响应CVMdl.也就是说,对于每一次折叠,kfoldPredict预测当它使用所有其他观察进行训练时,对观察结果的反应。

YHat包含组成的线性回归模型中每个正规化强度的预测响应CVMdl

输入参数

全部展开

交叉验证的,线性回归模型,指定为RegressionPartitionedLinear模型对象。您可以创建RegressionPartitionedLinear模型使用fitrlinear并指定任意一个交叉验证参数,例如名称-值对参数,CrossVal

为了获得估计,kfoldPredict应用了用于交叉验证线性回归模型的相同数据(XY).

输出参数

全部展开

交叉验证的预测响应,返回为n——- - - - - -l数字数组。n是在预测器中产生的观测数据的数量吗CVMdl(见X),l正规化强度的数量在吗CVMdl.Trained {1} .LambdaYHat (j预测的反应是观察结果吗采用具有正规化强度的线性回归模型CVMdl.Trained {1} .Lambda (j

利用正则化强度模型预测响应j y j x β j + b j

  • x是来自预测数据矩阵的观察吗X,为行向量。

  • β j 为估计的系数列向量。软件将这个向量存储在其中Mdl。β(:,j

  • b j 软件存储在其中的估计的标量偏差Mdl。偏差(j

例子

全部展开

从这个模型模拟10000个观察结果

y x 1 0 0 + 2 x 2 0 0 + e

  • X x 1 x 1 0 0 0 是一个10000 × 1000稀疏矩阵,含有10%的非零标准正规元素。

  • e为随机正态误差,均值为0,标准差为0.3。

rng (1)%的再现性n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X(:,100) + 2*X(:,200) + 0.3*randn(n,1);

交叉验证线性回归模型。

CVMdl = fitrlinear (X, Y,“CrossVal”“上”
CVMdl = RegressionPartitionedLinear CrossValidatedModel: 'Linear' ResponseName: 'Y' NumObservations: 10000 KFold: 10 Partition: [1x1 cvpartition] ResponseTransform: 'none'属性,方法
Mdl1 = CVMdl。训练有素的{1}
Mdl1 = RegressionLinear ResponseName: 'Y' ResponseTransform: 'none' Beta: [1000x1 double] Bias: 0.0107 Lambda: 1.1111e-04 Learner: 'svm'属性,方法

默认情况下,fitrlinear实现了10倍交叉验证。CVMdl是一个RegressionPartitionedLinear模型。它包含属性训练有素的,这是一个容纳10的10乘1单元数组RegressionLinear软件使用训练集训练的模型。

预测观察结果的反应fitrlinear没有用于训练褶皱。

yHat = kfoldPredict (CVMdl);

因为有一个正规化强度MdlyHat是一个数字向量。

模拟10000个观察值,如预测旨在响应

rng (1)%的再现性n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X(:,100) + 2*X(:,200) + 0.3*randn(n,1);

创建一组15个对数间隔的正则化强度 1 0 - 5 通过 1 0 - 1

λ= logspace(5、1、15);

旨在模型。要提高执行速度,可以调换预测器数据并指定观察结果在列中。指定使用带套索惩罚的最小二乘和使用SpaRSA优化目标函数。

X = X ';CVMdl = fitrlinear (X, Y,“ObservationsIn”“列”“KFold”5,“λ”λ,...“学习者”“leastsquares”“规划求解”“sparsa”“正规化”“套索”);

CVMdl是一个RegressionPartitionedLinear模型。它的训练有素的属性包含一个5乘1单元数组的训练RegressionLinear每个模特在训练时都有不同的折叠。因为fitrlinear训练使用15个正规化力量,你可以想出每一个RegressionLinear模型为15个模型。

预测旨在响应。

YHat = kfoldPredict (CVMdl);大小(YHat)
ans =1×210000年15
: YHat (2)
ans =1×15-1.7338 -1.7332 -1.7319 -1.7299 -1.7266 -1.7239 -1.7135 -1.7210 -1.7324 -1.7063 -1.6397 -1.5112 -1.2631 -0.7841 -0.0096

YHat是一个10000 × 15的矩阵。: YHat (2)为使用所有15个正则化值进行正则化的模型对观测2的交叉验证响应。

介绍了R2016a