主要内容

分类

使用支持向量机(SVM)分类器对观测值进行一类和二类分类万博1manbetx

  • 库:
  • 统计和机器学习工具箱/分类

描述

的<年代pan class="block">分类块使用SVM分类对象对观测值进行分类(分类VMCompactClassificationSVM)用于一类和二类(二进制)分类。

通过指定包含对象的工作空间变量的名称,将经过训练的SVM分类对象导入到块中。输入端口<年代trong class="guilabel">x接收观测(预测器数据)和输出端口<年代trong class="guilabel">标签返回观察的预测类标签。您可以添加可选的输出端口<年代trong class="guilabel">分数返回预测的班级分数或后验概率。

港口

输入

全部展开

预测器数据,指定为一个观测值的列向量或行向量。

依赖关系

  • 中的变量<年代trong class="guilabel">x必须与训练由指定的SVM模型的预测变量具有相同的顺序<年代trong class="guilabel">选择经过训练的机器学习模型

  • 如果你设定“标准化”,真的在里面fitcsvm在训练SVM模型时,将<年代pan class="block">分类块的价值标准化<年代trong class="guilabel">x使用中的平均值和标准偏差西格玛SVM模型的属性(分别)。

数据类型:仅有一个的|双重的|一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔值|定点

输出

全部展开

预测的类标签,作为标量返回。

依赖关系

  • 一节课的学习,<年代trong class="guilabel">标签表示正类的值。

  • 对于两个班的学习,<年代trong class="guilabel">标签是产生最大得分或最大后验概率的类。

数据类型:仅有一个的|双重的|一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔值|定点|列举

预测类分数后验概率,对于一个类的学习返回标量,对于两个类的学习返回1×2向量。

  • 一节课的学习,<年代trong class="guilabel">分数是正类的分类分数。您无法获得一个类学习的后验概率。

  • 对于两个班的学习,<年代trong class="guilabel">分数是一个1乘2的向量。

    • 元素的第一和第二个元素<年代trong class="guilabel">分数对应于否定类的分类分数(svmMdl.ClassNames(1))和积极类(svmMdl.ClassNames(2)),分别为,svmMdlSVM模型是否由<年代trong class="guilabel">选择经过训练的机器学习模型.你可以使用一会的属性svmMdl检查负类名和正类名。

    • 如果您使用菲特罗斯特fitSVMPosterior,然后<年代trong class="guilabel">分数包含类后验概率。否则,<年代trong class="guilabel">分数包含班级分数。

依赖关系

要启用该端口,请选中为预测的班级分数添加输出端口上<年代trong class="guilabel">主要的“块参数”对话框的选项卡。

数据类型:仅有一个的|双重的|一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔值|定点

参数

全部展开

主要的

指定包含分类VM反对或CompactClassificationSVM对象

当你使用fitcsvm,以下限制适用:

  • 预测器数据不能包括分类预测器(逻辑明确的烧焦一串单间牢房)。如果在表格中提供培训数据,则预测值必须为数字(双重的仅有一个的)。此外,您不能使用“CategoricalPredictors”名称值参数。若要在模型中包含分类预测值,请使用dummyvar在拟合模型之前。

  • 价值“分数变换”名称值参数不能为空“因弗罗吉特”或者一个匿名函数。对于一个预测新观测值后验概率的块,将一个经过训练的SVM模型传递给菲特罗斯特fitSVMPosterior

  • 价值“内核函数”名称-值参数必须为“高斯”(同)“rbf”,默认为一节课学习),“线性”(默认为两节课学习),或者“多项式”

编程使用

块参数:TrainedLearner
类型:工作空间变量
价值观:分类VM反对|CompactClassificationSVM对象
默认值:“svmMdl”

选中该复选框以包括第二个输出端口<年代trong class="guilabel">分数在<年代pan class="block">分类块。

编程使用

块参数:ShowOutputScore
类型:特征向量
价值观:“关”|“开”
默认值:“关”

数据类型

定点操作参数

指定定点操作的舍入模式。有关详细信息,请参阅舍入(定点设计器)

块参数始终舍入到最接近的可表示值。要控制块参数的舍入,请使用MATLAB输入表达式<年代up>®将函数舍入掩码字段。

编程使用

块参数:RndMeth
类型:特征向量
价值观:'天花板' | '收敛' | '地板' | '最近' | 'Round' | '最简单' | '零'
默认值:“地板”

指定溢出是否饱和或缠绕。

行动 基本原理 对溢流的影响 实例

选中此复选框(在…上).

您的模型可能存在溢出,并且您希望在生成的代码中提供显式的饱和保护。

溢出会饱和到数据类型所能表示的最小值或最大值。

所需的最大值int8(有符号8位整数)数据类型可以表示为127。任何大于此最大值的块运算结果都会导致8位整数溢出。选中此复选框后,块输出在127处饱和。类似地,块输出在最小输出值–128处饱和。

清除此复选框().

您希望优化生成代码的效率。

您希望避免过度指定块如何处理超出范围的信号。有关更多信息,请参阅排除信号范围误差(万博1manbetx模型)

溢出换行到数据类型可以表示的适当值。

所需的最大值int8(有符号8位整数)数据类型可以表示为127。任何大于此最大值的块运算结果都会导致8位整数溢出。清除复选框后,软件将导致溢出的值解释为int8,这可能会产生意外结果。例如,130(二进制1000 0010)的块结果表示为int8is–126。

编程使用

块参数:饱和积分溢出
类型:特征向量
价值观:“关”|“开”
默认值:“关”

选择此参数可防止定点工具覆盖为块指定的数据类型。有关详细信息,请参阅使用锁定输出数据类型设置(定点设计器)

编程使用

块参数:磅秤
类型:特征向量
价值观:“关”|“开”
默认值:“关”
数据类型

指定数据的数据类型<年代trong class="guilabel">标签输出。该类型可以继承、指定为枚举数据类型或表示为数据类型对象,如万博1manbetxSimulink.NumericType

选择继承选项时,软件的行为如下所示:

  • 继承:通过反向传播继承(数字和逻辑标签的默认值)-Simulink自动确定万博1manbetx<年代trong class="guilabel">标签数据类型在数据类型传播期间块的数据类型传播(万博1manbetx模型))。在这种情况下,块使用下游块或信号对象的数据类型。

  • 继承:汽车(默认为非数字标签)—块使用自定义枚举数据类型变量。例如,假设指定的工作区变量名选择经过训练的机器学习模型myMdl,类标签为第一类第二类.然后,相应的<年代trong class="guilabel">标签值是myMdl_enumLabels.class_1myMdl_.class_2。该块使用matlab.lang.makeValidName函数。

有关数据类型的详细信息,请参见信号的控制数据类型(万博1manbetx模型)

点击<年代trong class="guibutton">显示数据类型助手按钮<年代pan class="guiicon">显示<年代trong class="guilabel">数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型(万博1manbetx模型)

依赖关系

所支持的万博1manbetx数据类型依赖于指定的模型中使用的标签选择经过训练的机器学习模型

  • 如果模型使用数字或逻辑标签,则支持的数据类型为万博1manbetx继承:通过反向传播继承(违约),双重的仅有一个的一半int8uint8int16uint16int32uint32int64uint64布尔值、固定点和数据类型对象。

  • 如果模型使用非数字标签,则支持的数据类型为万博1manbetx继承:汽车(违约),枚举:<类名>,以及数据类型对象。

编程使用

块参数LabelDataTypeStr
类型:字符向量
价值观“继承:通过反向传播继承”|'继承:自动'|“双人”|“单身”|“一半”|“int8”|‘uint8’|“int16”|‘uint16’|“int32”|‘uint32’|“int64”|“uint64”|“布尔”|‘fixdt(1,16)’|‘fixdt(1,16,0)’|'fixdt(1,16,2^0,0)'|“枚举:|“< >数据类型表达”
违约“继承:通过反向传播继承”(用于数字和逻辑标签)|'继承:自动'(对于非数字标签)

较低的<年代trong class="guilabel">标签Simulink的输出范围万博1manbetx<年代up>®检查。

万博1manbetxSimulink使用最小值来执行:

请注意

的<年代trong class="guilabel">标签最低参数不饱和或剪裁实际值<年代trong class="guilabel">标签输出信号。使用饱和(万博1manbetx模型)取而代之的是封锁。

依赖关系

仅当指定的模型为选择经过训练的机器学习模型使用数字标签。

编程使用

块参数LabelOutMin
类型:字符向量
价值观'[]'|标量
违约'[]'

上值<年代trong class="guilabel">标签Simulink检查的输出范围。万博1manbetx

万博1manbetxSimulink使用最大值来执行:

请注意

的<年代trong class="guilabel">标签最大值参数不饱和或剪裁实际值<年代trong class="guilabel">标签输出信号。使用饱和(万博1manbetx模型)取而代之的是封锁。

依赖关系

仅当指定的模型为选择经过训练的机器学习模型使用数字标签。

编程使用

块参数唇瓣
类型:字符向量
价值观'[]'|标量
违约'[]'

指定数据的数据类型<年代trong class="guilabel">分数输出。类型可以继承、直接指定或表示为数据类型对象,例如万博1manbetxSimulink.NumericType

当您选择继承:汽车,块使用继承数据类型的规则。

有关数据类型的详细信息,请参见信号的控制数据类型(万博1manbetx模型)

点击<年代trong class="guibutton">显示数据类型助手按钮<年代pan class="guiicon">显示<年代trong class="guilabel">数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型(万博1manbetx模型)

编程使用

块参数ScoreDataTypeStr
类型:字符向量
价值观'继承:自动'|“双人”|“单身”|“一半”|“int8”|‘uint8’|“int16”|‘uint16’|“int32”|‘uint32’|“int64”|“uint64”|“布尔”|‘fixdt(1,16)’|‘fixdt(1,16,0)’|'fixdt(1,16,2^0,0)'|“< >数据类型表达”
违约'继承:自动'

较低的<年代trong class="guilabel">分数Simulink检查的输出范围。万博1manbetx

万博1manbetxSimulink使用最小值来执行:

请注意

的<年代trong class="guilabel">分数最低参数不饱和或剪裁实际值<年代trong class="guilabel">分数信号。使用饱和(万博1manbetx模型)取而代之的是封锁。

编程使用

块参数ScoreOutMin
类型:字符向量
价值观'[]'|标量
违约'[]'

上值<年代trong class="guilabel">分数Simulink检查的输出范围。万博1manbetx

万博1manbetxSimulink使用最大值来执行:

请注意

的<年代trong class="guilabel">得分上限参数不饱和或剪裁实际值<年代trong class="guilabel">分数信号。使用饱和(万博1manbetx模型)取而代之的是封锁。

编程使用

块参数ScoreOutMax
类型:字符向量
价值观'[]'|标量
违约'[]'

指定内部未转换分数的数据类型。该类型可以继承、直接指定或表示为数据类型对象,如万博1manbetxSimulink.NumericType

当您选择继承:汽车,块使用继承数据类型的规则。

有关数据类型的详细信息,请参见信号的控制数据类型(万博1manbetx模型)

点击<年代trong class="guibutton">显示数据类型助手按钮<年代pan class="guiicon">显示<年代trong class="guilabel">数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型(万博1manbetx模型)

依赖关系

仅当指定的模型为选择经过训练的机器学习模型使用得分转换“没有”(默认值,与“身份”).

  • 如果模型不使用分数转换(“没有”“身份”),则可以使用指定分数数据类型分数数据类型

  • 如果模型使用的分数转换不是“没有”“身份”,则可以使用此参数指定未转换原始分数的数据类型,并使用分数数据类型

您可以通过指定“分数变换”参数Name-value,或通过更改分数变换培训后的财产。

编程使用

块参数RawScoreDataTypeStr
类型:字符向量
价值观'继承:自动'|“双人”|“单身”|“一半”|“int8”|‘uint8’|“int16”|‘uint16’|“int32”|‘uint32’|“int64”|“uint64”|“布尔”|‘fixdt(1,16)’|‘fixdt(1,16,0)’|'fixdt(1,16,2^0,0)'|“< >数据类型表达”
违约'继承:自动'

Simulink检查的未转换分数范围的较低值。万博1manbetx

万博1manbetxSimulink使用最小值来执行:

请注意

的<年代trong class="guilabel">最低原始分数参数不饱和或剪辑实际未转换的分数信号。

编程使用

块参数罗尔斯考特明
类型:字符向量
价值观'[]'|标量
违约'[]'

Simulink检查的未转换分数范围的上限值。万博1manbetx

万博1manbetxSimulink使用最大值来执行:

请注意

的<年代trong class="guilabel">原始分数上限参数不饱和或剪辑实际未转换的分数信号。

编程使用

块参数RawScoreOutMax
类型:字符向量
价值观'[]'|标量
违约'[]'

指定用于内核计算的参数的数据类型。该类型可以直接指定,也可以表示为数据类型对象,例如万博1manbetxSimulink.NumericType

的<年代trong class="guilabel">内核数据类型参数指定不同参数的数据类型,具体取决于指定SVM模型的核函数类型“内核函数”训练SVM模型时的名称值参数。

“内核函数”价值 数据类型
“高斯”“rbf” 内核数据类型指定平方距离的数据类型<年代pan class="inlineequation"> D 2 x 年代 2 对于高斯核<年代pan class="inlineequation"> G x 年代 经验 D 2 哪里x是观察和分析的预测数据年代是一个支持万博1manbetx向量。
“线性” 内核数据类型指定线性核函数输出的数据类型<年代pan class="inlineequation"> G x 年代 x 年代 哪里x是观察和分析的预测数据年代是一个支持万博1manbetx向量。
“多项式” 内核数据类型指定多项式核函数输出的数据类型<年代pan class="inlineequation"> G x 年代 1 + x 年代 p 哪里x是观察的预测数据,年代是支持向量万博1manbetx,然后呢p是一个多项式核函数阶。

有关数据类型的详细信息,请参见信号的控制数据类型(万博1manbetx模型)

点击<年代trong class="guibutton">显示数据类型助手按钮<年代pan class="guiicon">显示<年代trong class="guilabel">数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型(万博1manbetx模型)

编程使用

块参数内核数据类型
类型:字符向量
价值观“双人”|“单身”|“一半”|“int8”|‘uint8’|“int16”|‘uint16’|“int32”|‘uint32’|“uint64”|“int64”|“布尔”|‘fixdt(1,16)’|‘fixdt(1,16,0)’|'fixdt(1,16,2^0,0)'|“< >数据类型表达”
违约“双人”

Simulink检查的内核计算内部变量范围的较低值。万博1manbetx

万博1manbetxSimulink使用最小值来执行:

请注意

的<年代trong class="guilabel">核极小值参数不饱和或剪裁实际内核计算值信号。

编程使用

块参数核外蛋白
类型:字符向量
价值观'[]'|标量
违约'[]'

Simulink检查的内核计算内部变量范围的上限值。万博1manbetx

万博1manbetxSimulink使用最大值来执行:

请注意

的<年代trong class="guilabel">内核最大参数不饱和或剪裁实际内核计算值信号。

编程使用

块参数克内洛特马克斯
类型:字符向量
价值观'[]'|标量
违约'[]'

块特征

数据类型

布尔值|双重的|列举|定点|一半|整数|仅有一个的

直接馈通

多维信号

可变大小信号

讨论二阶导数过零检测

更多关于

全部展开

提示

  • 如果您使用的是线性SVM模型,并且它有许多支持向量,那么预测(分类观察)可能会很慢。万博1manbetx为了有效地基于线性支持向量机模型对观测数据进行分类,需要将支持向量从万博1manbetx分类VMCompactClassificationSVM通过使用discard万博1manbetxSupportVectors

替代功能

可以将MATLAB功能块与预测SVM分类对象的目标函数(分类VMCompactClassificationSVM)。有关示例,请参阅利用MATLAB函数块预测类标签

在决定是否使用<年代pan class="block">分类统计和机器学习工具箱中的块™ 库或具有预测功能考虑如下:

  • 如果使用统计和机器学习工具箱库块,则可以使用<年代trong class="tool">定点的工具(定点设计器)将浮点模型转换为定点。

  • 万博1manbetx对于具有的MATLAB功能块,必须启用对可变大小数组的支持预测函数。

  • 如果您使用MATLAB函数块,您可以使用MATLAB函数在同一个MATLAB函数块中进行预测之前或之后的预处理或后处理。

兼容性考虑

全部展开

R2021a中的行为发生了变化

R2021a中的行为发生了变化

R2021a中的行为发生了变化

扩展能力

C/C++代码生成
使用Simulink®编码器生成C和C++代码™.万博1manbetx

定点转换
使用定点设计器设计和模拟定点系统™.

另请参阅

阻碍

  • |<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

对象

功能

  • |<年代pan itemscope itemtype="//www.tianjin-qmedu.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">
在R2020b中引入