主要内容

ClassificationLinear类

用于高维数据二值分类的线性模型

描述

ClassificationLinear是一种训练好的线性模型对象,用于二值分类;线性模型是支持向量机(SVM)或logist万博1manbetxic回归模型。fitclinear符合一个ClassificationLinear通过使用减少高维数据集计算时间的技术(例如,随机梯度下降)最小化目标函数建立模型。分类损失加上正则化项构成目标函数。

与其他分类模型不同,为了节省内存使用,ClassificationLinear模型对象不存储训练数据。然而,它们确实存储了,例如,估计的线性模型系数、先验类概率和正则化强度。

你可以使用训练过的ClassificationLinear预测新数据标签或分类分数的模型。有关详细信息,请参见预测

建设

创建一个ClassificationLinear对象的使用fitclinear

属性

全部展开

线性分类属性

正则项强度,指定为非负的标量或非负值的向量。

数据类型:|

线性分类模型类型,指定为“物流”“支持向量机”

在这个表中, f x x β + b

  • β是向量p系数。

  • x是来自p预测变量。

  • b是标量偏差。

价值 算法 损失函数 FittedLoss价值
“物流” 逻辑回归 异常(物流): y f x 日志 1 + 经验值 y f x 分对数的
“支持向量机” 万博1manbetx支持向量机 铰链: y f x 马克斯 0 1 y f x “枢纽”

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

数据类型:

估计偏差项或模型截距,指定为数值标量。

数据类型:

此属性是只读的。

损失函数用于拟合线性模型,指定为“枢纽”分对数的

价值 算法 损失函数 学习者价值
“枢纽” 万博1manbetx支持向量机 铰链: y f x 马克斯 0 1 y f x “支持向量机”
分对数的 逻辑回归 异常(物流): y f x 日志 1 + 经验值 y f x “物流”

复杂度惩罚类型,指定为“套索(L1)”“岭(L2)”

该软件由平均损失函数(见FittedLoss)和该表中的一个正则化值。

价值 描述
“套索(L1)” 套索(l1)罚款: λ j 1 p | β j |
“岭(L2)” 脊(l2)罚款: λ 2 j 1 p β j 2

λ指定正则化术语强度(请参见λ).

软件排除了偏差项(β0)从正规化处罚。

其他分类属性

分类预测指标,指定为一个正整数的向量。假设预测器数据包含成行的观测数据,CategoricalPredictors包含与包含分类预测器的预测器数据列对应的索引值。如果没有一个预测符是分类的,则此属性为空([]).

数据类型:|

训练中使用的唯一类标签,指定为分类或字符数组、逻辑或数字向量或字符向量的单元数组。一会具有与类标签相同的数据类型Y(软件将字符串数组视为字符向量的单元数组。)一会还决定了类的顺序。

数据类型:分类|字符|逻辑|||细胞

此属性是只读的。

错误分类代价,指定为一个平方数字矩阵。成本K行和列,其中K是班级的数量。

成本(j把一个点分类到班级的成本是多少j如果它的真类是.的行和列的顺序成本中的类的顺序一会

数据类型:

用于培训ClassificationLinear模型,指定为结构。

访问字段ModelParameters使用点符号。例如,对线性系数的相对公差和偏置项使用Mdl.ModelParameters.BetaTolerance

数据类型:结构体

预测器名称按其在预测器数据中出现的顺序排列,指定为字符向量的单元数组。的长度PredictorNames是否等于训练数据中的变量数X资源描述用作预测变量。

数据类型:细胞

扩展预测器名称,指定为字符向量的单元数组。

如果模型对分类变量使用编码,那么ExpandedPredictorNames包括描述展开变量的名称。否则,ExpandedPredictorNamesPredictorNames

数据类型:细胞

此属性是只读的。

先验类概率,指定为数值向量。之前有和类一样多的元素一会,元素的顺序对应于的元素一会

数据类型:

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

数据类型:字符

用于应用于预测分数的分数转换函数,指定为函数名或函数句柄。

对于线性分类模型和变换前的预测分类评分进行观察x(行向量)fx) =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

对象的功能

边缘 用于线性分类模型的分类边缘
incrementalLearner 将二元分类的线性模型转化为增量式学习器
石灰 局部可解释模型不可知解释(LIME)
损失 线性分类模型的分类损失
保证金 线性分类模型的分类裕度
partialDependence 计算部分依赖
plotPartialDependence 创建部分依赖图(PDP)和个人条件期望图(ICE)
预测 预测线性分类模型的标签
沙普利 沙普利值
selectModels 选择正则化的子集,二元线性分类模型
更新 更新代码生成的模型参数

复制语义

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

例子

全部折叠

使用支持向量机,对偶SGD和脊正则化训练一个二元线性分类模型。万博1manbetx

加载NLP数据集。

负载nlpdata

X是一个稀疏矩阵的预测数据,和Y是类标签的类别向量。数据中有两个以上的类。

识别与统计和机器学习工具箱™文档网页对应的标签。

Ystats = Y ==“统计数据”

训练一个二元线性分类模型,该模型可以识别文档网页中的单词计数是否来自统计和机器学习工具箱™文档。使用整个数据集训练模型。通过提取拟合摘要来确定优化算法拟合模型到数据的程度。

rng (1);%的再现性[Mdl, FitInfo] = fitclinear (X, Ystats)
Mdl = classiationlinear ResponseName: 'Y' ClassNames: [0 1] ScoreTransform: 'none' Beta: [34023x1 double] Bias: -1.0059 Lambda: 3.1674e-05学习者:'svm'属性,方法
FitInfo =结构体字段:目标:5.3783e-04 PassLimit: 10 NumPasses: 10 BatchLimit: [] NumIterations: 238561 GradientNorm: NaN GradientTolerance: 0 RelativeChangeInBeta: 0.0562 betatortolerance: 1.0000e-04 DeltaGradient: 1.4582 DeltaGradientTolerance: 1 TerminationCode: 0 TerminationStatus:{'迭代限制超过。'} Alpha: [31572x1 double] History: [] FitTime: 0.1506 Solver: {'dual'}

Mdl是一个ClassificationLinear模型。你可以通过Mdl而训练或新数据来损失检查样本内分类错误。或者,你也可以不去Mdl新的预测数据预测为新的观察预测类别标签。

FitInfo一个结构数组,其中包含终止状态(TerminationStatus),以及求解器将模型与数据拟合所需的时间(FitTime).这是一个很好的实践FitInfo确定优化终止测量是否令人满意。由于训练时间短,您可以尝试重新训练模型,但增加通过数据的次数。这可以改善诸如DeltaGradient

加载NLP数据集。

负载nlpdatan =大小(X, 1);%观察次数

识别与统计和机器学习工具箱™文档网页对应的标签。

Ystats = Y ==“统计数据”

保留5%的数据。

rng (1);%的再现性本量利= cvpartition (n,“坚持”, 0.05)
cvp = Hold-out cross validation partition NumObservations: 31572 NumTestSets: 1 TrainSize: 29994 TestSize: 1578

本量利是一个CVPartition对象的随机分区n数据进入训练和测试集。

使用训练集训练二进制线性分类模型,该训练集可以识别文档网页中的单词计数是否来自统计和机器学习工具箱™文档。为了更快的训练时间,调整预测器数据矩阵,以便观察在列中。

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%的样本外观察结果。

扩展功能

介绍了R2016a