主要内容

ClassificationSVM预测

使用支持向量机(SVM)分类器对观测数据进行单类和二元分类

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

描述

的<年代pan class="block">ClassificationSVM预测块使用支持向量机分类对象(ClassificationSVMCompactClassificationSVM)进行单类和双类(二进制)分类。

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

港口

输入

全部展开

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

依赖关系

  • 中的变量<年代trong class="guilabel">x必须与训练支持向量机模型的预测变量的顺序相同<年代trong class="guilabel">选择训练过的机器学习模型

  • 如果你设置“标准化”,真的fitcsvm在训练支持向量机模型时<年代pan class="block">ClassificationSVM预测块标准化的值<年代trong class="guilabel">x利用均值和标准差μ而且σ属性(分别)。

数据类型:||一半|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)),分别为,svmMdl支持向量机模型是由<年代trong class="guilabel">选择训练过的机器学习模型.您可以使用一会的属性svmMdl检查负类名和正类名。

    • 如果你拟合最佳得分-后验概率转换函数使用fitPosteriorfitSVMPosterior,然后<年代trong class="guilabel">分数包含类后验概率。否则,<年代trong class="guilabel">分数包含类的分数。

依赖关系

要启用此端口,请选中的复选框为预测的班级成绩添加输出端口在<年代trong class="guilabel">主要页签。

数据类型:||一半|int8|int16|int32|int64|uint8|uint16|uint32|uint64|布尔|不动点

参数

全部展开

主要

类型的工作空间变量的名称ClassificationSVM对象或CompactClassificationSVM对象。

当你训练支持向量机模型使用fitcsvm,以下限制适用:

  • 预测器数据不能包括分类预测器(逻辑分类字符字符串,或细胞).如果在表中提供训练数据,则预测器必须是数值().此外,您不能使用CategoricalPredictors名称-值参数。要在模型中包含范畴预测器,可以使用对范畴预测器进行预处理dummyvar在拟合模型之前。

  • 的值“ScoreTransform”名称-值实参不能为“invlogit”或者一个匿名函数。对于一个预测后验概率的块,通过一个训练过的支持向量机模型fitPosteriorfitSVMPosterior

  • 的值“KernelFunction”名称-值参数必须为“高斯”(一样“rbf”,默认为单课学习),“线性”(默认为两类学习),或者多项式的

编程使用

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

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

编程使用

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

数据类型

定点操作参数

指定定点操作的舍入模式。有关更多信息,请参见舍入(定点设计师)

块参数总是四舍五入到最接近的可表示值。要控制块参数的舍入,请使用MATLAB在掩码字段中输入表达式<年代up>®舍入功能。

编程使用

块参数:RndMeth
类型:特征向量
价值观:'Ceiling' | 'Convergent' | 'Floor' | 'Nearest' | 'Round' | '最简单' | 'Zero'
默认值:“地板”

指定溢出是饱和还是换行。

行动 基本原理 对溢出的影响 例子

选中此复选框().

您的模型可能会溢出,您希望在生成的代码中显式地保护饱和。

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

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

清除此复选框().

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

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

溢出包装为数据类型可以表示的适当值。

的最大值int8(有符号8位整数)数据类型可以表示为127。任何大于该最大值的块操作结果都会导致8位整数溢出。清除该复选框后,软件将导致溢出的值解释为int8,这可能会产生意想不到的结果。例如,130(二进制10000010)的块结果表示为int8是-126。

编程使用

块参数:SaturateOnIntegerOverflow
类型:特征向量
价值观:”从“|”“
默认值:“关闭”

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

编程使用

块参数:LockScale
类型:特征向量
价值观:”从“|”“
默认值:“关闭”
数据类型

对象的数据类型<年代trong class="guilabel">标签输出。类型可以继承、指定为枚举数据类型或表示为数据类型对象,例如仿真软件。NumericType

当你选择一个继承选项时,软件的行为如下:

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

  • 继承:汽车(默认为非数字标签)-块使用一个自动定义的枚举数据类型变量。例如,假设由指定的工作区变量名选择训练过的机器学习模型myMdl,类标签为类1而且二班.然后,相应的<年代trong class="guilabel">标签值是myMdl_enumLabels.class_1而且myMdl_enumLabels.class_2.方法将类标签转换为有效的MATLAB标识符matlab.lang.makeValidName函数。

有关数据类型的更多信息,请参见信号的控制数据类型(模型)

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

依赖关系

所支持的数据类型取决于所指定的模型中使用的标签选择训练过的机器学习模型

  • 如果模型使用数字或逻辑标签,则支持的数据类型为继承:通过反向传播继承(默认),一半int8uint8int16uint16int32uint32int64uint64布尔、定点和数据类型对象。

  • 如果模型使用非数字标签,则支持的数据类型为继承:汽车(默认),枚举:<类名>和一个数据类型对象。

编程使用

块参数LabelDataTypeStr
类型:特征向量
“继承:通过反向传播继承”|“继承:汽车”|“双”|“单一”|“一半”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“int64”|“uint64”|“布尔”|“fixdt(16)”|“fixdt(0) 1, 16日”|“fixdt(1, 16日2 ^ 0,0)”|“枚举:<类名>”|“< >数据类型表达”
默认的“继承:通过反向传播继承”(对于数字和逻辑标签)|“继承:汽车”(非数字标签)

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

动态仿真模块使用最小值执行:

请注意

的<年代trong class="guilabel">标签最低参数不饱和或剪辑实际<年代trong class="guilabel">标签输出信号。使用饱和(模型)块来代替。

依赖关系

的型号指定时,才可以指定此参数选择训练过的机器学习模型使用数字标签。

编程使用

块参数LabelOutMin
类型:特征向量
“[]”|标量
默认的“[]”

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

动态仿真模块使用最大值执行:

请注意

的<年代trong class="guilabel">标签最大参数不饱和或剪辑实际<年代trong class="guilabel">标签输出信号。使用饱和(模型)块来代替。

依赖关系

的型号指定时,才可以指定此参数选择训练过的机器学习模型使用数字标签。

编程使用

块参数LabelOutMax
类型:特征向量
“[]”|标量
默认的“[]”

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

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

有关数据类型的更多信息,请参见信号的控制数据类型(模型)

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

编程使用

块参数ScoreDataTypeStr
类型:特征向量
“继承:汽车”|“双”|“单一”|“一半”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“int64”|“uint64”|“布尔”|“fixdt(16)”|“fixdt(0) 1, 16日”|“fixdt(1, 16日2 ^ 0,0)”|“< >数据类型表达”
默认的“继承:汽车”

的较低值<年代trong class="guilabel">分数输出范围,Simulink检查。

动态仿真模块使用最小值执行:

请注意

的<年代trong class="guilabel">分数最低参数不饱和或剪辑实际<年代trong class="guilabel">分数信号。使用饱和(模型)块来代替。

编程使用

块参数ScoreOutMin
类型:特征向量
“[]”|标量
默认的“[]”

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

动态仿真模块使用最大值执行:

请注意

的<年代trong class="guilabel">得分最高参数不饱和或剪辑实际<年代trong class="guilabel">分数信号。使用饱和(模型)块来代替。

编程使用

块参数ScoreOutMax
类型:特征向量
“[]”|标量
默认的“[]”

指定内部未转换分数的数据类型。类型可以继承、直接指定或表示为数据类型对象,例如仿真软件。NumericType

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

有关数据类型的更多信息,请参见信号的控制数据类型(模型)

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

依赖关系

的型号指定时,才可以指定此参数选择训练过的机器学习模型使用评分转换“没有”(默认,一样“身份”).

  • 如果模型没有使用评分转换(“没有”“身份”),然后可以使用分数数据类型

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

属性可以更改分数转换选项“ScoreTransform”参数,或通过更改ScoreTransform培训后财产。

编程使用

块参数RawScoreDataTypeStr
类型:特征向量
“继承:汽车”|“双”|“单一”|“一半”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“int64”|“uint64”|“布尔”|“fixdt(16)”|“fixdt(0) 1, 16日”|“fixdt(1, 16日2 ^ 0,0)”|“< >数据类型表达”
默认的“继承:汽车”

Simulink检查的未转换分数范围的较低值。

动态仿真模块使用最小值执行:

请注意

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

编程使用

块参数RawScoreOutMin
类型:特征向量
“[]”|标量
默认的“[]”

Simulink检查的未转换分数范围的上值。

动态仿真模块使用最大值执行:

请注意

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

编程使用

块参数RawScoreOutMax
类型:特征向量
“[]”|标量
默认的“[]”

为内核计算指定参数的数据类型。类型可以直接指定,也可以表示为数据类型对象,例如仿真软件。NumericType

的<年代trong class="guilabel">内核数据类型parameter根据指定的SVM模型的核函数类型指定不同参数的数据类型。您指定的“KernelFunction”训练SVM模型时的name-value参数。

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

有关数据类型的更多信息,请参见信号的控制数据类型(模型)

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

编程使用

块参数KernelDataTypeStr
类型:特征向量
“双”|“单一”|“一半”|“int8”|“uint8”|“int16”|“uint16”|“int32”|“uint32”|“uint64”|“int64”|“布尔”|“fixdt(16)”|“fixdt(0) 1, 16日”|“fixdt(1, 16日2 ^ 0,0)”|“< >数据类型表达”
默认的“双”

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

动态仿真模块使用最小值执行:

请注意

的<年代trong class="guilabel">内核最低参数不会饱和或截取实际的内核计算值信号。

编程使用

块参数KernelOutMin
类型:特征向量
“[]”|标量
默认的“[]”

Simulink检验的内核计算内部变量范围的上值。

动态仿真模块使用最大值执行:

请注意

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

编程使用

块参数KernelOutMax
类型:特征向量
“[]”|标量
默认的“[]”

块特征

数据类型

布尔||枚举|不动点|一半|整数|

直接引线

是的

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

没有

更多关于

全部展开

提示

  • 如果您使用的是线性支持向量机模型,并且它有许多支持向量,那么预测(对观察结果进行分类)可能会很慢。为了根据线性支持向量机模型对观察结果进行有效分类,需要将支持向量从ClassificationSVMCompactClassificationSVM对象的使用discardSupportVectors

选择功能

你可以使用MATLAB函数块预测支持向量机分类对象的目标函数ClassificationSVMCompactClassificationSVM).示例请参见用MATLAB函数块预测类标签

当决定是否使用<年代pan class="block">ClassificationSVM预测在统计和机器学习工具箱™库中的预测函数,考虑以下情况:

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

  • 控件必须为MATLAB函数块启用对可变大小数组的支持预测函数。

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

扩展功能

C / c++代码生成
使用Simulink®Coder™生成C和c++代码。

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

版本历史

介绍了R2020b

全部展开

另请参阅

对象

功能

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