超类:
用于高维数据二值分类的线性模型
ClassificationLinear
是用于二值分类的训练线性模型对象;线性模型是支持向量机(SVM)或逻辑回归模型万博1manbetx。fitclinear
符合一个ClassificationLinear
通过使用减少高维数据集计算时间的技术(例如,随机梯度下降)最小化目标函数来建立模型。分类损失加上正则化项构成目标函数。
与其他分类模型不同,为了节省内存使用,ClassificationLinear
模型对象不存储训练数据。然而,它们确实存储了,例如,估计的线性模型系数、先验类别概率和正则化强度。
你可以使用训练有素的ClassificationLinear
用于预测新数据的标签或分类分数的模型。有关详细信息,请参见预测
.
返回一个训练过的线性分类模型对象,该对象包含将二元支持向量机与预测器数据拟合的结果万博1manbetxMdl
= fitclinear (X
,Y
)X
和类标签Y
.
返回经过训练的线性分类模型,其中包含由一个或多个指定的附加选项Mdl
= fitclinear (___,名称,值
)名称,值
Pair参数,使用前面的任何语法。例如,您可以指定要实现逻辑回归、指定要交叉验证或指定正则化的类型。
如果指定以下四个选项之一,则Mdl
是一个ClassificationPartitionedLinear
模型:“CrossVal”
,“CVPartition”
,“坚持”
,或“KFold”
.
不同于其他分类模型对象:
为了节省内存的使用,ClassificationLinear
模型对象不存储训练数据或训练过程细节(例如,收敛历史)。
你不能通过一个训练有素的ClassificationLinear
模型对象crossval
.相反,在使用该方法训练模型时,请指定适当的交叉验证名称-值对参数fitclinear
.
X
- - - - - -预测数据预测器数据,指定为n——- - - - - -p全或稀疏矩阵。
的长度Y
观察的次数X
必须是相等的。
如果您对预测器矩阵进行定位,使观察结果与列对应并指定“ObservationsIn”、“列”
,那么您可能会经历优化执行时间的显著减少。
数据类型:单
|双
有关详细信息,请参见fitclinear
.
λ
- - - - - -正则化项的力量正则项强度,指定为非负标量或非负值向量。
数据类型:双
|单
学习者
- - - - - -线性分类模型型“物流”
|“支持向量机”
线性分类模型类型,指定为“物流”
或“支持向量机”
.
在这个表中,
β是向量p系数。
x是来自p预测变量。
b为标量偏差。
价值 | 算法 | 损失函数 | FittedLoss 价值 |
---|---|---|---|
“物流” |
逻辑回归 | 异常(物流): | 分对数的 |
“支持向量机” |
万博1manbetx支持向量机 | 铰链: | “枢纽” |
β
- - - - - -线性系数估计线性系数估计,指定为长度等于预测数的数字向量。
数据类型:双
偏见
- - - - - -估计偏差估计偏差项或模型截距,指定为数值标量。
数据类型:双
FittedLoss
- - - - - -用损失函数拟合线性模型“枢纽”
|分对数的
用于拟合线性模型的损失函数,指定为“枢纽”
或分对数的
.
价值 | 算法 | 损失函数 | 学习者 价值 |
---|---|---|---|
“枢纽” |
万博1manbetx支持向量机 | 铰链: | “支持向量机” |
分对数的 |
逻辑回归 | 异常(物流): | “物流” |
正则化
- - - - - -复杂性处罚类型“套索(L1)”
|“岭(L2)”
复杂度惩罚类型,指定为“套索(L1)”
或“岭(L2)”
.
该软件由平均损失函数的总和组成最小化目标函数(见FittedLoss
)和该表的正则化值。
价值 | 描述 |
---|---|
“套索(L1)” |
套索(l1)罚款: |
“岭(L2)” |
脊(l2)罚款: |
λ指定正则化项强度(参见λ
).
该软件排除了偏差项(β0)从正规化处罚。
CategoricalPredictors
- - - - - -分类预测指标[]
类别预测器的索引,其值总是为空([]
),因为一个ClassificationLinear
模型不支持分类预测器。万博1manbetx
一会
- - - - - -独特的类标签训练中使用的唯一类标签,指定为类别或字符数组、逻辑或数字向量或字符向量的单元数组。一会
具有与类标签相同的数据类型(Y
).一会
也决定了类的顺序。
数据类型:分类
|字符
|逻辑
|单
|双
|细胞
成本
- - - - - -误分类代价此属性是只读的。
误分类代价,指定为方阵数值矩阵。成本
有K行和列,其中K为类数。
成本(
将一个点分类的成本是多少我
,j
)j
如果它真正的阶级是我
.的行和列的顺序成本
中类的顺序一会
.
数据类型:双
ModelParameters
- - - - - -用于训练模型的参数用于训练的参数ClassificationLinear
模型,指定为结构。
访问字段ModelParameters
使用点符号。例如,通过使用来访问线性系数和偏差项的相对公差Mdl.ModelParameters.BetaTolerance
.
数据类型:结构体
PredictorNames
- - - - - -预测的名字预测器名称在预测器数据中的出现顺序(X
),指定为字符向量的单元格数组。的长度PredictorNames
等于X
.
数据类型:细胞
ExpandedPredictorNames
- - - - - -扩大了预测的名字扩展的预测器名称,指定为字符向量的单元格数组。
因为一个ClassificationLinear
模型不支持分类预测器,万博1manbetxExpandedPredictorNames
和PredictorNames
是相等的。
数据类型:细胞
之前
- - - - - -前类概率此属性是只读的。
先验类概率,指定为数字向量。之前
有和类一样多的元素一会
,元素的顺序与元素的顺序相对应一会
.
数据类型:双
ScoreTransform
- - - - - -分数变换函数应用于预测分数用于预测分数的分数转换函数,指定为函数名或函数句柄。
对于线性分类模型和变换前,预测的分类评分为观测值x(行向量)f(x) =xβ+b,在那里β和b对应于Mdl。β
和Mdl。偏见
,分别。
将分数转换函数更改为,例如:函数
,使用点符号。
对于内置函数,输入此代码并替换函数
用表中的字符向量。
Mdl。ScoreTransform = '函数';
价值 | 描述 |
---|---|
“doublelogit” |
1 / (1 +e2x) |
“invlogit” |
日志(x/ (1 -x)) |
“ismax” |
将分数最大的类的分数设置为1 ,并设置所有其他类的分数为0 |
分对数的 |
1 / (1 +e- - - - - -x) |
“没有” 或“身份” |
x(转换) |
“标志” |
1x< 0 为0x= 0 1x> 0 |
“对称” |
2x- 1 |
“symmetricismax” |
将分数最大的类的分数设置为1 ,并设置所有其他类的分数为1 |
“symmetriclogit” |
2 / (1 +e- - - - - -x) - 1 |
对于一个MATLAB®函数或您定义的函数,输入其函数句柄。
Mdl。ScoreTransform = @函数;
函数
必须接受每个类的原始分数矩阵,然后返回一个大小相同的矩阵,表示每个类的转换分数。
数据类型:字符
|function_handle
ResponseName
- - - - - -响应变量名响应变量名,指定为字符数组。
数据类型:字符
边缘 | 线性分类模型的分类边缘 |
损失 | 线性分类模型的分类损失 |
保证金 | 线性分类模型的分类裕度 |
预测 | 预测线性分类模型的标签 |
selectModels | 选择正则化的二元线性分类模型的子集 |
价值。要了解值类如何影响复制操作,请参见复制对象(MATLAB)。
使用支持向量机、双SGD和脊正则化训练二元线性分类模型。万博1manbetx
加载NLP数据集。
负载nlpdata
X
是预测数据的稀疏矩阵,和Y
是类标签的分类向量。数据中有两个以上的类。
识别与统计和机器学习工具箱™文档网页对应的标签。
Ystats = Y ==“统计数据”;
训练一个二元线性分类模型,可以识别文档网页中的单词计数是否来自统计学和机器学习工具箱™文档。使用整个数据集训练模型。通过提取一个拟合摘要,确定优化算法将模型与数据拟合的程度。
rng (1);%的再现性[Mdl, FitInfo] = fitclinear (X, Ystats)
Mdl = classficationlinear ResponseName: 'Y' ClassNames: [0 1] ScoreTransform: 'none' Beta: [34023x1 double] Bias: -1.0059 Lambda: 3.1674e-05 Learner: 'svm'属性,方法
FitInfo =结构体字段:Lambda: 3.1674e-05 Objective: 5.3783e-04 PassLimit: 10 NumPasses: 10 BatchLimit: [] NumIterations: 238561 GradientNorm: NaN GradientTolerance: 0 RelativeChangeInBeta: 0.0562 BetaTolerance: 1.0000e-04 DeltaGradient: 1.4582 DeltaGradientTolerance: 1 TerminationCode: 0 TerminationStatus:{'迭代限制超过。Alpha: [31572x1 double] History: [] FitTime: 1.0598 Solver: {'dual'}
Mdl
是一个ClassificationLinear
模型。你可以通过Mdl
和培训或新数据损失
检查样本内分类误差。或者,你可以不去Mdl
和新的预测数据预测
为新的观测结果预测类别标签。
FitInfo
是一个结构数组,其中包含终止状态(TerminationStatus
)以及求解器将模型与数据拟合所需的时间(FitTime
).这是很好的实践FitInfo
确定优化终止测量是否令人满意。由于训练时间很小,您可以尝试重新训练模型,但增加数据的传递次数。这可以改善诸如DeltaGradient
.
加载NLP数据集。
负载nlpdatan =大小(X, 1);%观测次数
识别与统计和机器学习工具箱™文档网页对应的标签。
Ystats = Y ==“统计数据”;
拿出5%的数据。
rng (1);%的再现性本量利= cvpartition (n,“坚持”, 0.05)
nummobations: 31572 NumTestSets: 1 TrainSize: 29994 TestSize: 1578
本量利
是一个CVPartition
对象的随机分区n数据转换为训练和测试集。
使用训练集训练一个二元线性分类模型,该训练集可以识别文档网页中的单词计数是否来自Statistics和Machine Learning Toolbox™文档。为了更快的训练时间,对预测器数据矩阵进行定向,使观察结果在列中。
idxTrain =培训(cvp);%提取训练集指标X = X ';Mdl = fitclinear (X (:, idxTrain) Ystats (idxTrain),“ObservationsIn”,“列”);
预测保留样本的观测值和分类误差。
idxTest =测试(cvp);%提取测试集指标标签=预测(Mdl X (:, idxTest),“ObservationsIn”,“列”);L =损失(Mdl X (:, idxTest) Ystats (idxTest),“ObservationsIn”,“列”)
L = 7.1753 e-04
Mdl
错误分类的样本外观察不到1%。
使用注意事项及限制:
只有预测
函数支持代码生成。万博1manbetx
当你使用fitclinear
,适用以下限制。
预测器数据输入参数值(X
)必须是一个完整的数值矩阵。
类标记输入参数值(Y
)不能是类别数组。
价值“类名”
名称-值对参数或属性不能是分类数组。
您也可以只指定一种正则化强度“汽车”
或者一个非负标量“λ”
名称-值对的论点。
价值“ScoreTransform”
名称-值对参数不能是匿名函数。
有关代码生成示例,请参见用于预测的代码生成工作流和为代码生成指定大小可变的参数.有关更多信息,请参见代码生成.
ClassificationECOC
|ClassificationKernel
|ClassificationPartitionedLinear
|ClassificationPartitionedLinearECOC
|fitclinear
|预测
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。