主要内容

本页翻译不是最新的。点击此处可查看最新英文版本。

RegressionTree Predict

使用回归树模型预测响应

自 R2021a 起

  • RegressionTree Predict Block Icon

库:
Statistics and Machine Learning Toolbox / Regression

描述

RegressionTree Predict 模块使用回归树对象(RegressionTreeCompactRegressionTree)预测响应。

通过指定包含经过训练的回归对象的工作区变量的名称,将该对象导入模块中。输入端口 x 接收一个观测值(预测变量数据),输出端口 yfit 返回该观测值的预测响应。

示例

端口

输入

全部展开

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

x 中的变量必须与用来训练 所指定的模型的预测变量具有相同的顺序。

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

输出

全部展开

预测响应,以标量形式返回。

数据类型: single | double | half | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point

参数

全部展开

主要

指定包含 RegressionTree 对象或 CompactRegressionTree 对象的工作区变量的名称。

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

  • 预测变量数据不能包含分类预测变量(logicalcategoricalcharstringcell)。如果在表中提供训练数据,预测变量必须为数值(doublesingle)。此外,不能使用 CategoricalPredictors 名称-值参量。要在模型中包含分类预测变量,请在拟合模型之前使用 dummyvar 对其进行预处理。

  • ResponseTransform 名称-值参量的值必须为 'none'(默认值)。

  • 您无法使用替代分裂;也就是说,Surrogate 名称-值参量的值必须为 'off'(默认值)。

编程用法

模块参数:TrainedLearner
类型:工作区变量
值:RegressionTree 对象 | CompactRegressionTree 对象
默认值'treeMdl'

数据类型

定点运算参数

指定定点运算的舍入模式。有关详细信息,请参阅舍入模式 (Fixed-Point Designer)

模块参数始终舍入到最邻近的可表示值。要控制模块参数的舍入方法,请使用 MATLAB® 舍入函数在封装字段中输入表达式。

编程用法

模块参数:RndMeth
类型:字符向量
值:"Ceiling" | "Convergent" | "Floor" | "Nearest" | "Round" | "Simplest" | "Zero"
默认值"Floor"

指定对溢出是进行饱和处理还是绕回处理。

操作基本原理对溢出的影响示例

选中此复选框 (on)。

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

将溢出饱和处理为数据类型能够表示的最小值或最大值。

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

清除此复选框 (off)。

您想优化所生成代码的效率。

您希望避免过度地指定信号超出范围时模块的处理方式。有关详细信息,请参阅信号范围错误故障排除 (Simulink)

溢出将绕回到数据类型可以表示的合适值。

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

编程用法

模块参数:SaturateOnIntegerOverflow
类型:字符向量
值:"off" | "on"
默认值"off"

选择此参数可防止定点工具覆盖您对模块指定的数据类型。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)

编程用法

模块参数:LockScale
类型:字符向量
值:"off" | "on"
默认值"off"

数据类型

yfit 输出指定数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType

当您选择 Inherit: auto 时,模块使用继承数据类型的规则。

有关数据类型的详细信息,请参阅控制信号的数据类型 (Simulink)

点击显示数据类型助手按钮 以显示数据类型助手,这有助于您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型 (Simulink)

编程用法

模块参数OutDataTypeStr
类型:字符向量
"Inherit: auto" | "double" | "single" | "half" | "int8" | "uint8" | "int16" | "uint16" | "int32" | "uint32" | "int64" | "uint64" | "boolean" | "fixdt(1,16,0)" | "fixdt(1,16,2^0,0)" | "<data type expression>"
默认值"Inherit: auto"

指定 Simulink® 检查的 yfit 输出范围下限值。

Simulink 使用最小值执行下列操作:

注意

输出数据类型最小值参数不会对实际 yfit 信号进行饱和处理或截断。为此,请改用 Saturation (Simulink) 模块。

编程用法

模块参数OutMin
类型:字符向量
'[]' | 标量
默认值'[]'

指定 Simulink 检查的 yfit 输出范围上限值。

Simulink 使用最大值执行下列操作:

注意

输出数据类型最大值参数不会对实际 yfit 信号进行饱和处理或截断。为此,请改用 Saturation (Simulink) 模块。

编程用法

模块参数OutMax
类型:字符向量
'[]' | 标量
默认值'[]'

模块特性

数据类型

Boolean | double | fixed point | half | integer | single

直接馈通

多维信号

可变大小信号

过零检测

详细信息

全部展开

替代功能

您可以将 MATLAB Function 模块与回归树对象(RegressionTreeCompactRegressionTree)的 predict 对象函数结合使用。有关示例,请参阅Predict Class Labels Using MATLAB Function Block

在决定是使用 Statistics and Machine Learning Toolbox™ 库中的 RegressionTree Predict 模块还是具有 predict 函数的 MATLAB Function 模块时,请考虑以下几点:

  • 如果使用 Statistics and Machine Learning Toolbox 库模块,可以使用定点工具 (Fixed-Point Designer)将浮点模型转换为定点。

  • 必须为具有 predict 函数的 MATLAB Function 模块启用对可变大小数组的支持。

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

扩展功能

全部展开

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

定点转换
使用 Fixed-Point Designer™ 设计和仿真定点系统。

版本历史记录

在 R2021a 中推出