主要内容

ClassificationEnsemble预测

使用决策树集合对观测结果进行分类

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

描述

ClassificationEnsemble预测Block使用决策树(ClassificationEnsembleClassificationBaggedEnsemble,或CompactClassificationEnsemble)进行多类分类。

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

港口

输入

全部展开

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

依赖关系

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

输出

全部展开

预测的类标号,作为标量返回。预测的班级是得分最高的班级。

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

预测类分数或后验概率,作为大小为1 × -的行向量返回k,在那里k是树模型中类的数量。

要检查类的顺序,请使用一会属性指定的树模型的属性选择训练过的机器学习模型

依赖关系

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

参数

全部展开

主要

指定包含控件的工作空间变量的名称ClassificationEnsemble对象,ClassificationBaggedEnsemble对象,或CompactClassificationEnsemble对象。

训练模型时使用fitcensemble,以下限制适用:

  • 你必须用3个弱学习器来训练一个集合。

  • 预测器数据不能包括分类预测器(逻辑分类字符字符串,或细胞)。如果您在表中提供训练数据,则预测器必须是数字()。另外,你不能使用“CategoricalPredictors”名称-值参数。要在模型中包含分类预测器,请使用dummyvar在拟合模型之前。

  • 的值“ScoreTransform”名称-值参数不能为“invlogit”或者匿名函数。

  • 类的值不能对树弱学习器使用代理分割“代孕”名称-值参数必须为“关闭”定义树弱学习器时(默认值)templateTree函数。

编程使用

块参数:TrainedLearner
类型:工作空间变量
价值观:ClassificationEnsemble对象|ClassificationBaggedEnsemble对象|CompactClassificationEnsemble对象
默认值:“ensMdl”

选择复选框以包含第二个输出端口分数ClassificationEnsemble预测块。

编程使用

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

数据类型

定点操作参数

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

块参数总是四舍五入到最接近的可表示值。要控制块参数的舍入,请使用MATLAB输入表达式®舍入函数到掩码字段。

编程使用

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

指定溢出是饱和溢出还是自动溢出。

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

选择此复选框()。

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

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

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

清除此复选框()。

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

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

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

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

编程使用

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

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

编程使用

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

类的数据类型标签输出。类型可以被继承,指定为枚举数据类型,或者表示为数据类型对象,例如金宝app仿真软件。NumericType

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

  • 继承:通过反向传播继承(默认为数字和逻辑标签)- Simulink自动确定金宝app标签数据类型在数据类型传播期间块的数据类型传播(金宝app模型))。在这种情况下,块使用下游块或信号对象的数据类型。

  • 继承:汽车(非数字标签的默认值)-块使用自动定义的枚举数据类型变量。例如,假设工作空间变量名由选择训练过的机器学习模型myMdl,类标签为类1二班。然后,相应的标签值是myMdl_enumLabels.class_1myMdl_enumLabels.class_2。代码块将类标签转换为有效的MATLAB标识符matlab.lang.makeValidName函数。

有关数据类型的详细信息,请参见控制信号的数据类型(金宝app模型)

单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型(金宝app模型)

依赖关系

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

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

  • 如果模型使用非数字标签,则支持的数据类型为金宝app继承:汽车(默认),Enum: <类名>,以及数据类型对象。

编程使用

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

的较低值标签输出范围说明Simulink金宝app®检查。

金宝appSimulink使用最小值来执行:

请注意

标签最低参数不饱和或剪切实际标签输出信号。使用饱和(金宝app模型)块来代替。

依赖关系

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

编程使用

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

的上限值标签Simulink检查的输出范围。金宝app

金宝appSimulink使用最大值来执行:

请注意

标签最大参数不饱和或剪切实际标签输出信号。使用饱和(金宝app模型)块来代替。

依赖关系

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

编程使用

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

类的数据类型分数输出。类型可以被继承、直接指定或表示为数据类型对象,例如金宝app仿真软件。NumericType

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

有关数据类型的详细信息,请参见控制信号的数据类型(金宝app模型)

单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型(金宝app模型)

编程使用

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

的较低值分数Simulink检查的输出范围。金宝app

金宝appSimulink使用最小值来执行:

请注意

分数最低参数不饱和或剪切实际分数信号。使用饱和(金宝app模型)块来代替。

编程使用

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

的上限值分数Simulink检查的输出范围。金宝app

金宝appSimulink使用最大值来执行:

请注意

得分最高参数不饱和或剪切实际分数信号。使用饱和(金宝app模型)块来代替。

编程使用

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

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

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

有关数据类型的详细信息,请参见控制信号的数据类型(金宝app模型)

单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型(金宝app模型)

依赖关系

指定的型号才可以指定此参数选择训练过的机器学习模型使用分数转换,而不是“没有”(默认值与“身份”)。

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

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

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

编程使用

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

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

金宝appSimulink使用最小值来执行:

请注意

最低原始分数参数不会使实际未转换的分数信号饱和或剪切。

编程使用

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

Simulink检查的未转换分数范围的最大值。金宝app

金宝appSimulink使用最大值来执行:

请注意

原始分数最大值参数不会使实际未转换的分数信号饱和或剪切。

编程使用

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

为弱学习器的输出指定数据类型。类型可以被继承、直接指定或表示为数据类型对象,例如金宝app仿真软件。NumericType

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

有关数据类型的详细信息,请参见控制信号的数据类型(金宝app模型)

单击显示数据类型助手按钮显示数据类型助手,它可以帮助您设置数据类型属性。有关更多信息,请参见使用数据类型助手指定数据类型(金宝app模型)

编程使用

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

Simulink检查的弱学习器输出范围值较低。金宝app

金宝appSimulink使用最小值来执行:

请注意

弱学习者最小值参数不会使实际的弱学习器输出信号饱和或剪切。

编程使用

块参数WeakLearnerOutMin
类型:字符向量
“[]”|标量
默认的“[]”

Simulink检测的弱学习器输出范围的最大值。金宝app

金宝appSimulink使用最大值来执行:

请注意

弱学习者最大值参数不会使实际的弱学习器输出信号饱和或剪切。

编程使用

块参数WeakLearnerOutMax
类型:字符向量
“[]”|标量
默认的“[]”

块特征

数据类型

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

直接引线

是的

多维信号

没有

适应信号

没有

讨论二阶导数过零检测

没有

选择功能

您可以使用MATLAB函数块与预测决策树集合的目标函数(ClassificationEnsembleClassificationBaggedEnsemble,或CompactClassificationEnsemble)。有关示例,请参见使用MATLAB函数块预测类标签

在决定是否使用ClassificationEnsemble预测的统计和机器学习工具箱™库或MATLAB函数块预测函数,考虑以下内容:

  • 如果您使用统计和机器学习工具箱库块,则可以使用定点的工具(定点设计师)将浮点模型转换为定点模型。

  • 金宝app的MATLAB函数块必须启用对可变大小数组的支持预测函数。

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

扩展功能

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

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

R2021a中引入