Main Content

回归线class

高维数据的线性回归模型

Description

回归线是训练有素的回归线性模型对象;线性模型是支持向量机回归(SVM)或线性回归金宝app模型。fitrlinear适合a回归线通过使用减少高维数据集的计算时间(例如随机梯度下降)的计算时间来最小化目标函数的模型。回归损失加正规化项构成目标函数。

与其他回归模型不同,用于经济记忆使用情况,回归线模型对象不存储培训数据。但是,它们确实存储了估计的线性模型系数,估计系数和正则化强度。

You can use trained回归线预测新数据响应的模型。有关详细信息,请参阅预测

建造

创建一个回归线object by usingfitrlinear

特性

展开全部

线性回归特性

Epsilon不敏感带的宽度的一半,被指定为非负标量。

如果learneris not'SVM', 然后Epsilon是一个空数组([[这是给予的)。

数据类型:单身的|双倍的

正则化term strength, specified as a nonnegative scalar or vector of nonnegative values.

数据类型:双倍的|单身的

线性回归模型类型,指定为“最少”或者'SVM'

在这个表中, F (( X = X β + b

  • βp系数。

  • X是从p预测变量。

  • b是标量偏见。

价值 算法 loss function 适合价值
“最少” linear regression through ordinary least squares 平方误差(MSE): [[ y ,,,, F (( X 这是给予的 = 1 2 [[ y - F (( X 这是给予的 2 'mse'
'SVM' 金宝app支持向量机回归 Epsiloninsensitive: [[ y ,,,, F (( X 这是给予的 = 最大限度 [[ 0 ,,,, | y - F (( X | - ε 这是给予的 ‘泼尼松敏感'

线性系数估计值,指定为数字向量,长度等于预测变量。

数据类型:双倍的

估计偏置项或者model intercept, specified as a numeric scalar.

数据类型:双倍的

用于适合模型的损失功能,指定为‘泼尼松敏感'或者'mse'

价值 算法 loss function learner价值
‘泼尼松敏感' 金宝app支持向量机回归 Epsiloninsensitive: [[ y ,,,, F (( X 这是给予的 = 最大限度 [[ 0 ,,,, | y - F (( X | - ε 这是给予的 'SVM'
'mse' linear regression through ordinary least squares 平方误差(MSE): [[ y ,,,, F (( X 这是给予的 = 1 2 [[ y - F (( X 这是给予的 2 “最少”

复杂性惩罚类型,指定为'Lasso(L1)'或者“山脊(L2)”

该软件从平均损耗函数的总和中构成了最小化的目标函数(请参阅适合)和该表的正则化值。

价值 Description
'Lasso(L1)' 拉索(l1) 惩罚: λ j = 1 p | β j |
“山脊(L2)” 山脊(l2) 惩罚: λ 2 j = 1 p β j 2

λ指定正规化项强度(请参阅兰姆达)。

该软件不包括偏差项(β0)从正规化处罚。

其他回归属性

分类预测指标,指定为正整数的向量。CategoricalPredictors包含指示相应预测变量的索引值。索引值在1和p, 在哪里pis the number of predictors used to train the model. If none of the predictors are categorical, then this property is empty ([[这是给予的)。

数据类型:单身的|双倍的

用于训练的参数回归线模型,指定为结构。

访问字段模型参数使用点表示法。例如,通过使用线性系数和偏置项上的相对公差mdl.modelparameters.betatolerance

数据类型:结构

预测指标名称in order of their appearance in the predictor data, specified as a cell array of character vectors. The length ofPredictorNamesis equal to the number of variables in the training dataX或者Tbl用作预测变量。

数据类型:细胞

扩展的预测指标名称,,,,specified as a cell array of character vectors.

如果模型使用编码用于分类变量,则ExpandedPredictorNames包括描述扩展变量的名称。否则,ExpandedPredictorNames是相同的PredictorNames

数据类型:细胞

响应变量名称,指定为字符向量。

数据类型:char

响应转换功能,指定为'没有任何'或者a function handle.ResponsEtransform描述软件如何转换原始响应值。

用于matlab®函数或定义的函数,输入其函数句柄。例如,您可以输入mdl.responsetransform = @功能, 在哪里功能接受原始响应的数字向量,并返回包含转换响应的相同大小的数字向量。

数据类型:char|function_handle

对象功能

递增代理 将线性回归模型转换为增量学习者
lime 局部可解释的模型不足解释(石灰)
失利 线性回归模型的回归损失
partialdependence 计算部分依赖性
plotPartialDependence 创建部分依赖图(PDP)和个人条件期望(ICE)图
预测 预测线性回归模型的响应
SelectModels 选择拟合的正规化线性回归模型
沙普利 沙普利值
更新 更新代码生成的模型参数

复制语义

价值。要了解价值类别如何影响复制操作,请参见复制对象

Examples

全部收缩

Train a linear regression model using SVM, dual SGD, and ridge regularization.

模拟此模型中的10000个观测值

y = X 1 0 0 + 2 X 2 0 0 + e

  • X = X 1 ,,,, ,,,, X 1 0 0 0 是一个10000 x-1000稀疏矩阵,具有10%非零标准正常元素。

  • e是随机正常误差,平均0和标准偏差为0.3。

RNG(1)% For reproducibilityn = 1e4;d = 1e3;NZ = 0.1;X = Sprandn(n,d,nz);y = x(:,100) + 2*x(:,200) + 0.3*randn(n,1);

Train a linear regression model. By default,fitrlinear使用支持向金宝app量机和脊惩罚,并对使用Dual SGD进行SVM进行优化。通过提取拟合摘要来确定优化算法拟合模型的程度。

[mdl,fitinfo] = fitrlinear(x,y)
mdl =回归线响应名称:'y'ponsponseTransform:'none'beta:[1000x1 double]偏差:-0.0056 lambda:1.0000e -04 Learner:'svm'属性,方法,方法
fitinfo =带有字段的结构:Lambda: 1.0000e-04 Objective: 0.2725 PassLimit: 10 NumPasses: 10 BatchLimit: [] NumIterations: 100000 GradientNorm: NaN GradientTolerance: 0 RelativeChangeInBeta: 0.4907 BetaTolerance: 1.0000e-04 DeltaGradient: 1.5816 DeltaGradientTolerance: 0.1000 TerminationCode: 0 TerminationStatus: {'超出了迭代限制。

MDL是一个回归线模型。你可以通过MDL和the training or new data to失利检查样本均方误差。或者,you can passMDL和新的预测数据到预测预测新观察的响应。

Fitinfo是一个结构数组,其中包含终止状态(终止史图斯)以及求解器将模型拟合到数据的时间(适合时间)。It is good practice to useFitinfo确定优化终止测量是否令人满意。在这种情况下,fitrlinear达到最大迭代次数。因为训练时间很快,因此您可以重新训练模型,但可以增加数据的传递数量。或者,尝试另一个求解器,例如lbfgs。

模拟此模型中的10000个观测值

y = X 1 0 0 + 2 X 2 0 0 + e

  • X = { X 1 ,,,, ,,,, X 1 0 0 0 } 是一个10000 x-1000稀疏矩阵,具有10%非零标准正常元素。

  • e是随机正常误差,平均0和标准偏差为0.3。

RNG(1)% For reproducibilityn = 1e4;d = 1e3;NZ = 0.1;X = Sprandn(n,d,nz);y = x(:,100) + 2*x(:,200) + 0.3*randn(n,1);

保留5%的数据。

RNG(1);% For reproducibilitycvp = cvpartition(n,'坚持',0.05)
CVP =持有交叉验证分区数字:10000 NumTestsets:1 trainsize:9500 Testsize:500

CVP是一个CVPARTITION定义随机分区的对象n将培训和测试集的数据数据数据。

使用训练集训练线性回归模型。对于更快的训练时间,请定向预测数据矩阵,以使观测值在列中。

idxtrain =训练(CVP);% Extract training set indicesx = x';mdl = fitrlinear(x(:,idxtrain),y(idxtrain),'ObservationsIn',,,,'列');

预测固定样品的观测值和平方误差(MSE)。

idxtest = test(CVP);%提取测试集指标yhat =预测(mdl,x(:,idxtest),,'ObservationsIn',,,,'列');l =损失(mdl,x(:,idxtest),y(idxtest),'ObservationsIn',,,,'列'
L = 0.1851

这hold-out sample MSE is 0.1852.

扩展功能

也可以看看

||

在R2016a中引入