主要内容

ClassificationLinear类

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

描述

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

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

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

建设

创建一个ClassificationLinear对象的使用fitclinear

属性

全部展开

线性分类属性

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

数据类型:|

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

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

  • β是向量p系数。

  • x是来自p预测变量。

  • b为标量偏差。

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

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

数据类型:

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

数据类型:

此属性是只读的。

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

价值 算法 损失函数 学习者价值
“枢纽” 金宝app支持向量机 铰链: 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包括描述扩展变量的名称。否则,ExpandedPredictorNames是一样的PredictorNames

数据类型:细胞

此属性是只读的。

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

数据类型:

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

数据类型:字符

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

对于线性分类模型和变换前,预测的分类评分为观测值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和脊正则化训练二元线性分类模型。金宝app

加载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: 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)
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%。

扩展功能

介绍了R2016a