主要内容

ClassificationLinear类

高维数据二元分类的线性模型

描述

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

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

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

建设

创建一个ClassificationLinear对象的使用fitclinear

属性

全部展开

线性分类属性

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

数据类型:|

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

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

  • β是的向量p系数。

  • x是一个观察p预测变量。

  • b是标量偏差。

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

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

数据类型:

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

数据类型:

此属性是只读的。

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

价值 算法 损失函数 学习者价值
“枢纽” 支持向量机 铰链: 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包含指示相应的预测器是分类的索引值。索引值在1和之间p,在那里p用于训练模型的预测器的数量。如果没有一个预测器是绝对的,则此属性为空([]).

数据类型:|

训练中使用的惟一类标签,指定为类别或字符数组、逻辑或数字向量或字符向量的单元格数组。一会是否与类标签的数据类型相同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和脊正则化训练二元线性分类模型。

加载NLP数据集。

负载nlpdata

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

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

Ystats = Y ==“统计数据”

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

rng (1);%的再现性[Mdl, FitInfo] = fitclinear (X, Ystats)
Mdl = ClassificationLinear ResponseName: 'Y' ClassNames: [0 1] ScoreTransform: 'none' Beta: [34023x1 double]偏差:-1.0059 Lambda: 3.1674e-05学习者:'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: 0.0870 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交叉验证分区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

全部展开

Baidu
map