线性回归模型的预测反应
Mdl
- - - - - -线性回归模型RegressionLinear
模型对象线性回归模型,指定为一个RegressionLinear
模型对象。您可以创建一个RegressionLinear
模型对象使用fitrlinear
。
X
- - - - - -预测数据用于生成响应预测数据用于生成反应,指定为一个完整的或稀疏的数字矩阵或表。
默认情况下,每一行X
对应于一个观察,每一列对应一个变量。
一个数字矩阵:
变量的列X
必须有相同的订单预测变量,训练吗Mdl
。
如果你训练Mdl
使用一个表(例如,资源描述
),资源描述
只包含数字预测变量,然后X
可以是一个数字矩阵。将数值预测资源描述
分类在训练、识别分类预测使用CategoricalPredictors
名称-值对的观点fitrlinear
。如果资源描述
包含了异构预测变量(例如,数字和分类数据类型)X
是一个数字矩阵,然后呢预测
抛出一个错误。
一个表:
预测
不支持多列变量或细金宝app胞数组以外的细胞阵列的特征向量。
如果你训练Mdl
使用一个表(例如,资源描述
),那么所有的预测变量X
必须有相同的变量名和数据类型的变量训练吗Mdl
(存储在Mdl.PredictorNames
)。然而,列的顺序X
不需要对应的列顺序资源描述
。同时,资源描述
和X
可以包含额外的变量(响应变量,观察体重、等等),但预测
忽略了它们。
如果你训练Mdl
使用一个数字矩阵,然后预测名称Mdl.PredictorNames
必须与相应的预测变量的名字X
。使用指定预测名称在训练PredictorNames
名称-值对的观点fitrlinear
。所有的预测变量X
必须是数值向量。X
可以包含额外的变量(响应变量,观察体重、等等),但预测
忽略了它们。
请注意
如果你东方预测矩阵,以便观察并指定对应列“ObservationsIn”、“列”
,那么你可能会经历显著减少优化执行时间。你不能指定“ObservationsIn”、“列”
预测数据表。
数据类型:双
|单
|表
维
- - - - - -预测数据观察维度“行”
(默认)|“列”
预测数据观察维度,指定为“列”
或“行”
。
请注意
如果你东方预测矩阵,以便观察并指定对应列“ObservationsIn”、“列”
,那么你可能会经历显著减少优化执行时间。你不能指定“ObservationsIn”、“列”
预测数据表。
从这个模型模拟10000年观测
是一个10000 - 10% - 1000稀疏矩阵非零标准正态元素。
e是随机的正常误差均值为0和标准偏差0.3。
rng (1)%的再现性n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X (:, 100) + 2 * (:, 200) + 0.3 * randn (n, 1);
火车一个线性回归模型。储备的30%作为抵抗样本观察。
CVMdl = fitrlinear (X, Y,“坚持”,0.3);Mdl = CVMdl.Trained {1}
Mdl = RegressionLinear ResponseName:‘Y’ResponseTransform:“没有一个”测试:[1000 x1双]偏见:-0.0066λ:1.4286 e-04学习者:“支持向量机”属性,方法
CVMdl
是一个RegressionPartitionedLinear
模型。它包含属性训练有素的
,这是一个1×1单元阵列举行RegressionLinear
使用训练集模型的软件培训。
从分区中提取的训练和测试数据的定义。
trainIdx =培训(CVMdl.Partition);testIdx =测试(CVMdl.Partition);
训练和测试样本预测的反应。
yHatTrain =预测(Mdl X (trainIdx:));yHatTest =预测(Mdl X (testIdx:));
因为有一个正规化的力量Mdl
,yHatTrain
和yHatTest
是数字向量。
预测反应的表现最好,线性回归模型使用lasso-penalty和最小二乘法。
在模拟10000次观测结果测试样本预测的反应。
rng (1)%的再现性n = 1 e4;d = 1 e3;新西兰= 0.1;X = sprandn (n, d,新西兰);Y = X (:, 100) + 2 * (:, 200) + 0.3 * randn (n, 1);
创建一组15对数间隔正则化的优势 通过 。
λ= logspace (5、1、15);
旨在模型。提高执行速度,转置预测数据和指定列的观测。使用SpaRSA优化目标函数。
X = X ';CVMdl = fitrlinear (X, Y,“ObservationsIn”,“列”,“KFold”5,“λ”λ,…“学习者”,“leastsquares”,“规划求解”,“sparsa”,“正规化”,“套索”);numCLModels =元素个数(CVMdl.Trained)
numCLModels = 5
CVMdl
是一个RegressionPartitionedLinear
模型。因为fitrlinear
实现5倍交叉验证,CVMdl
包含5RegressionLinear
火车在每个折叠模型软件。
显示第一个训练有素的线性回归模型。
Mdl1 = CVMdl.Trained {1}
Mdl1 = RegressionLinear ResponseName:‘Y’ResponseTransform:“没有一个”测试:[1000 x15双]偏见:[-0.0049 -0.0049 -0.0049 -0.0049 -0.0049 -0.0048……λ:[1.0000 7.1969 3.7276 1.9307 e-05 e-05 e-05 e-05……学生:“leastsquares”属性,方法
Mdl1
是一个RegressionLinear
模型对象。fitrlinear
构造Mdl1
通过培训第一个4折。因为λ
是一个序列的正则化的优势,你能想到什么Mdl1
11岁的模型,每个正规化的力量在一个λ
。
估计旨在MSE。
mse = kfoldLoss (CVMdl);
更高的值λ
导致预测变量稀疏,这是一个好质量的回归模型。对于每一个正规化的力量,训练一个线性回归模型使用整个数据集和旨在模型时相同的选项。确定数量的非零系数模型。
Mdl = fitrlinear (X, Y,“ObservationsIn”,“列”,“λ”λ,…“学习者”,“leastsquares”,“规划求解”,“sparsa”,“正规化”,“套索”);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}λ的)举行从
选择平衡的正则化强度指数预测变量稀疏和低MSE(例如,λ(10)
)。
idxFinal = 10;
提取模型与相应的均方误差最小。
idxFinal MdlFinal = selectModels (Mdl)
MdlFinal = RegressionLinear ResponseName:‘Y’ResponseTransform:“没有一个”测试:[1000 x1双]偏见:-0.0050λ:0.0037学习者:“leastsquares”属性,方法
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日,新西兰);YHat =预测(MdlFinal 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国家网站不优化的访问你的位置。