预测线性回归模型的响应
Mdl
—线性回归模型RegressionLinear
模型对象线性回归模型,指定为RegressionLinear
模型对象。您可以创建RegressionLinear
模型对象使用菲特利恩
.
X
—用于生成响应的预测数据用于生成响应的预测器数据,指定为完整或稀疏数值矩阵或表。
默认情况下,每行X
对应一个观察值,每一列对应一个变量。
对于数值矩阵:
的列中的变量X
必须与训练的预测变量具有相同的顺序Mdl
.
如果你训练Mdl
使用表格(例如,资源描述
),资源描述
那么,只包含数值预测变量X
可以是一个数值矩阵。处理数值预测资源描述
作为培训期间的分类预测,使用CategoricalPredictors
的名称-值对参数菲特利恩
.如果资源描述
包含异构预测变量(例如,数字和分类数据类型)和X
是一个数值矩阵,那么预测
抛出一个错误。
一个表:
预测
除了字符向量的单元金宝app格数组外,不支持多列变量或单元格数组。
如果你训练Mdl
使用表格(例如,资源描述
),然后所有预测变量X
必须具有与训练的变量相同的变量名和数据类型Mdl
(存储在Mdl.1名称
).但是,的列顺序X
不需要对应于的列顺序资源描述
而且资源描述
和X
可以包含额外的变量(响应变量、观察权重等),但是预测
忽视他们。
如果你训练Mdl
使用一个数字矩阵,然后预测器命名Mdl.1名称
必须与中对应的预测器变量名相同X
.要在训练期间指定预测器名称,请使用PredictorNames
的名称-值对参数菲特利恩
.所有的预测变量X
必须是数值向量。X
可以包含额外的变量(响应变量、观察权重等),但是预测
忽视他们。
笔记
如果调整预测矩阵的方向,使观测值与列相对应,并指定“ObservationsIn”、“列”
,则您可能会体验到优化执行时间的显著减少。不能指定“ObservationsIn”、“列”
对于表中的预测数据。
数据类型:双
|单
|桌子
维
—预测数据观测维数“行”
(默认)|“专栏”
预测数据观察维度,指定为“专栏”
或“行”
.
笔记
如果调整预测矩阵的方向,使观测值与列相对应,并指定“ObservationsIn”、“列”
,则您可能会体验到优化执行时间的显著减少。不能指定“ObservationsIn”、“列”
对于表中的预测数据。
从这个模型中模拟10000次观测
是具有10%非零标准法线元素的10000 x 1000稀疏矩阵。
E为随机正态误差,均值为0,标准差为0.3。
rng (1)%的再现性n=1e4;d=1e3;nz=0.1;X=sprandn(n,d,nz);Y=X(:,100)+2*X(:,200)+0.3*randn(n,1);
训练线性回归模型。保留30%的观察结果作为坚持样本。
CVMdl = fitrlinear (X, Y,“坚持”, 0.3);Mdl = CVMdl。训练有素的{1}
Mdl = RegressionLinear ResponseName: 'Y' ResponseTransform: 'none' Beta: [1000x1 double] Bias: -0.0066 Lambda: 1.4286e-04 Learner: 'svm'属性,方法
CVMdl
是一个回归分段线性
模型。它包含属性训练有素的
,这是一个1 × 1单元格数组RegressionLinear
软件使用训练集进行训练的模型。
从分区定义中提取训练和测试数据。
trainIdx =培训(CVMdl.Partition);testIdx =测试(CVMdl.Partition);
预测训练和测试样本的反应。
yHatTrain =预测(Mdl X (trainIdx:));yHatTest =预测(Mdl X (testIdx:));
因为有一个正规化的力量Mdl
,yHatTrain
和证实
是数字向量。
预测最佳表现,线性回归模型,使用套索惩罚和最小二乘。
模拟10000个观察值,如预测测试样本响应.
rng (1)%的再现性n=1e4;d=1e3;nz=0.1;X=sprandn(n,d,nz);Y=X(:,100)+2*X(:,200)+0.3*randn(n,1);
从中创建一组15个对数间隔的正则化强度 通过 .
λ=对数空间(-5,-1,15);
旨在模型。要提高执行速度,可以调换预测器数据并指定观察结果在列中。利用SpaRSA优化目标函数。
X = X ';CVMdl = fitrlinear (X, Y,“ObservationsIn”,“专栏”,“KFold”5,“拉姆达”λ,...“学习者”,“租赁广场”,“规划求解”,“斯巴萨”,“正规化”,“套索”);numCLModels =元素个数(CVMdl.Trained)
numCLModels = 5
CVMdl
是一个回归分段线性
模特,因为菲特利恩
实现5倍交叉验证,CVMdl
包含5RegressionLinear
软件在每个折叠上训练的模型。
显示第一个训练的线性回归模型。
Mdl1 = CVMdl。训练有素的{1}
Mdl1 = RegressionLinear ResponseName: 'Y' ResponseTransform: 'none' Beta: [1000x15 double] Bias:[-0.0049 -0.0049 -0.0049 -0.0049 -0.0048…[1.0000e-05 1.9307e-05 3.7276e-05 7.1969e-05…]最小二乘的性质,方法
Mdl1
是一个RegressionLinear
模型对象。菲特利恩
构造Mdl1
通过前四次的训练,因为兰姆达
你能想到一个正规化强度的序列吗Mdl1
作为11个模型,每个正规化强度在兰姆达
.
估计交叉验证的MSE。
mse=kfoldLoss(CVMdl);
更高的兰姆达
导致预测变量的稀疏性,这是回归模型的一个很好的品质。对于每个正则化强度,使用整个数据集和交叉验证模型时相同的选项来训练线性回归模型。确定每个模型的非零系数的数目。
Mdl = fitrlinear (X, Y,“ObservationsIn”,“专栏”,“拉姆达”λ,...“学习者”,“租赁广场”,“规划求解”,“斯巴萨”,“正规化”,“套索”);numNZCoeff = (Mdl.Beta ~ = 0)之和;
在同一图中,绘制每个正则化强度的交叉验证MSE和非零系数频率。在对数刻度上绘制所有变量。
图;[h,hL1,hL2]=plotyy(log10(λ),log10(mse),...log10(λ)log10 (numNZCoeff));hL1。标志=“o”; hL2.标记器=“o”; ylabel(h(1),“log{10}MSE”)ylabel(h(2),“log_ {10} nonzero-coefficient频率”)包含(“log_{10}Lambda”)举行关
选择平衡预测变量稀疏性和低MSE的正则化强度指标(例如,λ(10)
).
idxFinal = 10;
提取与最小均方误差相对应的模型。
idxFinal MdlFinal = selectModels (Mdl)
MdlFinal = RegressionLinear ResponseName: 'Y' ResponseTransform: 'none' Beta: [1000x1 double] Bias: -0.0050 Lambda: 0.0037初学者:'最小二乘'属性,方法
idxNZCoeff =找到(MdlFinal.Beta ~ = 0)
idxNZCoeff=2×1100 200
EstCoeff = Mdl.Beta (idxNZCoeff)
EstCoeff =2×11.0051 - 1.9965
MdlFinal
是一个RegressionLinear
具有一个正则化强度的模型。非零系数EstCoeff
接近模拟数据的系数。
模拟10个新观测值,并使用性能最佳的模型预测相应的响应。
XNew=sprandn(d,10,nz);YHat=predict(mdl最终,XNew,“ObservationsIn”,“专栏”);
使用注意事项及限制:
您可以为两者生成C/C++代码预测
和更新
通过使用编码器配置器。或者,只生成代码预测
利用saveLearnerForCoder
,loadLearnerForCoder
,codegen
.
代码生成预测
和更新
创建一个编码器配置器learnerCoderConfigurer
然后通过使用generateCode
.然后,您可以在生成的代码中更新模型参数,而不必重新生成代码。
代码生成预测
通过使用保存一个训练过的模型saveLearnerForCoder
.定义一个入口点函数,通过使用loadLearnerForCoder
并调用预测
函数。然后使用codegen
(MATLAB编码器)为入口点函数生成代码。
为生成单精度C/C++代码预测
,指定名称-值参数“数据类型”、“单”
当你打电话给loadLearnerForCoder
函数。
这个表格包含关于的参数的注释预测
.表中未包含的参数完全支持。金宝app
论点 | 笔记和局限性 |
---|---|
Mdl |
有关模型对象的使用说明和限制,请参见代码生成的 |
X |
|
名称-值对的观点 |
|
有关更多信息,请参见代码生成简介.
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
您还可以从以下列表中选择网站:
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家/地区站点不适合您所在位置的访问。