RegressionLinear Predict
库:
Statistics and Machine Learning Toolbox /
Regression
描述
RegressionLinear Predict 模块使用线性回归对象 (RegressionLinear
) 预测响应。
通过指定包含经过训练的回归对象的工作区变量的名称,将该对象导入模块中。输入端口 x 接收一个观测值(预测变量数据),输出端口 yfit 返回该观测值的预测响应。
示例
端口
输入
输出
参数
主要
选择经过训练的机器学习模型 — 线性回归模型
linearMdl
(默认) | RegressionLinear
对象
指定包含 RegressionLinear
对象的工作区变量的名称。
使用 fitrlinear
训练模型时,适用以下限制:
预测变量数据不能包含分类预测变量(
logical
、categorical
、char
、string
或cell
)。如果在表中提供训练数据,预测变量必须为数值(double
或single
)。此外,不能使用CategoricalPredictors
名称-值参量。要在模型中包含分类预测变量,请在拟合模型之前使用dummyvar
对其进行预处理。已训练模型的
Lambda
属性(正则化项强度)必须为数值标量。如果Lambda
是数值向量,您必须使用selectModels
选择对应于一个正则化强度的模型。
编程用法
模块参数:TrainedLearner |
类型:工作区变量 |
值:RegressionLinear 对象 |
默认值:'linearMdl' |
数据类型
定点运算参数整数舍入模式 — 定点运算的舍入模式
向下 (默认) | 向上 | 收敛 | 最邻近值 | 舍入 | 最简 | 零
指定定点运算的舍入模式。有关详细信息,请参阅舍入 (Fixed-Point Designer)。
模块参数始终舍入到最邻近的可表示值。要控制模块参数的舍入方法,请使用 MATLAB® 舍入函数在封装字段中输入表达式。
编程用法
模块参数:RndMeth |
类型:字符向量 |
值:"Ceiling" | "Convergent" | "Floor" | "Nearest" | "Round" | "Simplest" | "Zero" |
默认值:"Floor" |
对整数溢出进行饱和处理 — 溢出操作的方法
off
(默认) | on
指定对溢出是进行饱和处理还是绕回处理。
操作 | 基本原理 | 对溢出的影响 | 示例 |
---|---|---|---|
选中此复选框 ( | 您的模型可能有溢出,并且您希望在生成的代码中具有显式饱和保护。 | 将溢出饱和处理为数据类型能够表示的最小值或最大值。 |
|
清除此复选框 ( | 您想优化所生成代码的效率。 您希望避免过度地指定信号超出范围时模块的处理方式。有关详细信息,请参阅信号范围错误故障排除 (Simulink)。 | 溢出将绕回到数据类型可以表示的合适值。 |
|
编程用法
模块参数:SaturateOnIntegerOverflow |
类型:字符向量 |
值:"off" | "on" |
默认值:"off" |
锁定输出数据类型设置以防止被定点工具更改 — 防止定点工具覆盖数据类型
off
(默认) | on
选择此参数可防止定点工具覆盖您对模块指定的数据类型。有关详细信息,请参阅Use Lock Output Data Type Setting (Fixed-Point Designer)。
编程用法
模块参数:LockScale |
类型:字符向量 |
值:"off" | "on" |
默认值:"off" |
输出数据类型 — yfit 输出的数据类型
Inherit: auto (默认) | 双精度 | 单精度 | 半精度 | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | 布尔型 | fixdt(1,16,0) | fixdt(1,16,2^0,0) | <数据类型表达式>
为 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" |
输出数据类型最小值 — 范围检查的 yfit 输出最小值
[]
(默认) | 标量
指定 Simulink® 检查的 yfit 输出范围下限值。
Simulink 使用最小值执行下列操作:
某些模块的参数范围检查(请参阅指定模块参数的最小值和最大值 (Simulink))。
从模型生成的代码的优化。此优化可删除算法代码,并影响某些仿真模式(如软件在环 (SIL) 模式或外部模式)的结果。有关详细信息,请参阅Optimize using the specified minimum and maximum values (Embedded Coder)。
注意
输出数据类型最小值参数不会对实际 yfit 信号进行饱和处理或截断。为此,请改用 Saturation (Simulink) 模块。
编程用法
模块参数:OutMin |
类型:字符向量 |
值:'[]' | 标量 |
默认值:'[]' |
输出数据类型最大值 — 范围检查的 yfit 输出最大值
[]
(默认) | 标量
指定 Simulink 检查的 yfit 输出范围上限值。
Simulink 使用最大值执行下列操作:
某些模块的参数范围检查(请参阅指定模块参数的最小值和最大值 (Simulink))。
从模型生成的代码的优化。此优化可删除算法代码,并影响某些仿真模式(如 SIL 或外部模式)的结果。有关详细信息,请参阅Optimize using the specified minimum and maximum values (Embedded Coder)。
注意
输出数据类型最大值参数不会对实际 yfit 信号进行饱和处理或截断。为此,请改用 Saturation (Simulink) 模块。
编程用法
模块参数:OutMax |
类型:字符向量 |
值:'[]' | 标量 |
默认值:'[]' |
内积数据类型 — 内积数据类型
双精度 (默认) | 继承:通过内部规则继承 | 单精度 | 半精度 | int8 | uint8 | int16 | uint16 | int32 | uint32 | int64 | uint64 | 布尔型 | fixdt(1,16,0) | fixdt(1,16,2^0,0) | <数据类型表达式>
指定预测响应的内积项的数据类型。该类型可以继承、直接指定或表示为数据类型对象,如 Simulink.NumericType
。
当您选择继承:通过内部规则继承时,模块使用内部规则来确定内积数据类型。内部规则在考虑嵌入式目标硬件的属性的同时,会选择一种能优化数值准确性、性能和所生成代码大小的数据类型。软件无法始终同时优化效率和数值准确性。
有关数据类型的详细信息,请参阅控制信号的数据类型 (Simulink)。
点击显示数据类型助手按钮 以显示数据类型助手,这有助于您设置数据类型属性。有关详细信息,请参阅使用数据类型助手指定数据类型 (Simulink)。
编程用法
模块参数:InnerProductDataTypeStr |
类型:字符向量 |
值:"Inherit: Inherit via internal rule" | "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>" |
默认值:"double" |
内积数据类型最小值 — 范围检查的内积项的最小值
[]
(默认) | 标量
指定 Simulink 检查的内积项范围的下限值。
Simulink 使用最小值执行下列操作:
某些模块的参数范围检查(请参阅指定模块参数的最小值和最大值 (Simulink))。
从模型生成的代码的优化。此优化可删除算法代码,并影响某些仿真模式(如软件在环 (SIL) 模式或外部模式)的结果。有关详细信息,请参阅Optimize using the specified minimum and maximum values (Embedded Coder)。
注意
内积数据类型最小值参数不会对实际的内积项值进行饱和处理或截断。
编程用法
模块参数:InnerProductOutMin |
类型:字符向量 |
值:"[]" | 标量 |
默认值:"[]" |
内积数据类型最大值 — 范围检查的内积项的最大值
[]
(默认) | 标量
指定 Simulink 检查的内积项范围的上限值。
Simulink 使用最大值执行下列操作:
某些模块的参数范围检查(请参阅指定模块参数的最小值和最大值 (Simulink))。
从模型生成的代码的优化。此优化可删除算法代码,并影响某些仿真模式(如 SIL 或外部模式)的结果。有关详细信息,请参阅Optimize using the specified minimum and maximum values (Embedded Coder)。
注意
内积数据类型最大值参数不会对实际的内积项值进行饱和处理或截断。
编程用法
模块参数:InnerProductOutMax |
类型:字符向量 |
值:"[]" | 标量 |
默认值:"[]" |
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
详细信息
预测响应
对于线性回归模型,观测值 x 的预测响应为
y = xβ+b
β 是估计的系数列向量,b 是估计的标量偏置。由选择经过训练的机器学习模型指定的线性回归模型对象分别包含 Beta
和 Bias
属性中的系数和偏置。β 和 b 分别对应于 Beta
和 Bias
。
您可以使用输出数据类型和内积数据类型为计算预测响应所需的成分指定数据类型。
输出数据类型确定预测响应的数据类型。
内积数据类型确定 xβ 的数据类型。
替代功能
您可以将 MATLAB Function 模块与线性回归对象 (RegressionLinear
) 的 predict
对象函数结合使用。有关示例,请参阅Predict Class Labels Using MATLAB Function Block。
在决定是使用 Statistics and Machine Learning Toolbox™ 库中的 RegressionLinear 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™ 设计和仿真定点系统。
版本历史记录
在 R2023a 中推出
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)