主要内容

归一化数据

R2026b

在实时编辑器中中心化并缩放数据

描述

使用归一化数据任务,您可以通过选择中心化和缩放方法(如 z 分数)以交互方式归一化数据。该任务会自动为您的实时脚本生成 MATLAB® 代码。

使用此任务,您可以:

  • 自定义如何在工作区变量(如表或时间表)中中心化并缩放数据。

  • 将输入数据与归一化后的数据进行可视化比较。

  • 返回用于计算归一化的中心化和缩放值。

有关实时编辑器任务的详细信息,请参阅将交互式任务添加到实时脚本中。

相关函数

归一化数据生成使用 normalize 函数的代码。

Normalize Data task in the Live Editor

打开任务

要在 MATLAB 编辑器中将归一化数据任务添加到实时脚本中,请执行以下操作:

  • 在实时编辑器选项卡上,选择任务 > 归一化数据。

  • 在脚本的代码块中,键入相关关键字,例如 normalize、range 或 scale。从建议的命令自动填充项中选择归一化数据。对于某些关键字,任务会自动更新一个或多个对应的参数。

示例

全部展开

使用实时编辑器中的“归一化数据”任务以交互方式归一化一个数据集并返回计算出的参数值。然后,重用这些参数以对另一个数据集应用相同的归一化。

创建一个包含两个变量 Temperature 和 WindSpeed 的时间表。然后用同样的变量创建第二个时间表,但使用的样本是一年后收集的。

Time1 = (datetime(2019,1,1):days(1):datetime(2019,1,10))';
Temperature = randi([10 40],10,1);
WindSpeed = randi([0 20],10,1);
T1 = timetable(Temperature,WindSpeed,RowTimes=Time1)
T1 = 10×2 timetable
       Time        Temperature    WindSpeed
    ___________    ___________    _________

    01-Jan-2019        35             3    
    02-Jan-2019        38            20    
    03-Jan-2019        13            20    
    04-Jan-2019        38            10    
    05-Jan-2019        29            16    
    06-Jan-2019        13             2    
    07-Jan-2019        18             8    
    08-Jan-2019        26            19    
    09-Jan-2019        39            16    
    10-Jan-2019        39            20    

Time2 = (datetime(2020,1,1):days(1):datetime(2020,1,10))';
Temperature = randi([10 40],10,1);
WindSpeed = randi([0 20],10,1);
T2 = timetable(Temperature,WindSpeed,RowTimes=Time2)
T2 = 10×2 timetable
       Time        Temperature    WindSpeed
    ___________    ___________    _________

    01-Jan-2020        30            14    
    02-Jan-2020        11             0    
    03-Jan-2020        36             5    
    04-Jan-2020        38             0    
    05-Jan-2020        31             2    
    06-Jan-2020        33            17    
    07-Jan-2020        33            14    
    08-Jan-2020        22             6    
    09-Jan-2020        30            19    
    10-Jan-2020        15             0    

在实时编辑器中打开归一化数据任务。要归一化第一个时间表,请选择 T1 作为输入数据并归一化所有支持变量。

默认情况下,“归一化数据”任务返回归一化的数据。除了归一化的数据之外,通过选择任务的指定方法和参数部分中的返回中心化和缩放值,还会返回任务用于执行归一化的中心化和缩放参数值。

输出参量 newTable、centerValue 和 scaleValue 分别表示归一化的值、中心化值和缩放值。

Live Task

Figure contains 2 axes objects. Axes object 1 with xlabel Time, ylabel Temperature contains an object of type line. This object represents Input data. Axes object 2 with xlabel Time, ylabel Temperature contains an object of type line. This object represents Normalized data.

您可以在后续代码中使用实时编辑器任务的输出参量。通过 normalize 函数,使用第一个归一化的参数值来归一化第二个时间表 T2。此方法确保 T2 中的数据以与 T1 相同的方法中心化并缩放。

T2_norm = normalize(T2,"center",centerValue,"scale",scaleValue)
T2_norm = 10×2 timetable
       Time        Temperature    WindSpeed
    ___________    ___________    _________

    01-Jan-2020      0.11165      0.084441 
    02-Jan-2020      -1.6562       -1.8858 
    03-Jan-2020      0.66992       -1.1822 
    04-Jan-2020        0.856       -1.8858 
    05-Jan-2020       0.2047       -1.6044 
    06-Jan-2020      0.39078       0.50665 
    07-Jan-2020      0.39078      0.084441 
    08-Jan-2020      -0.6327       -1.0414 
    09-Jan-2020      0.11165       0.78812 
    10-Jan-2020       -1.284       -1.8858 

相关示例

参数

全部展开

此任务对包含在向量、表或时间表中的输入数据进行操作。数据的类型可以是 single 或 double。

对于表或时间表输入数据,要清洗类型为 single 或 double 的所有变量,请选择所有支持变量。要选择要清洗的 single 或 double 变量,请选择指定的变量。

将用于归一化数据的方法和相关参数指定为以下选项之一。

方法

方法参数

描述

Z-score

Standard deviation

中心化并缩放以使均值为 0,标准差为 1。

Median absolute deviation

中心化并缩放,使之中位数为 0,中位数绝对偏差为 1。

Norm

正数值标量(默认值为 2)或 Inf(表示无穷范数)

按 p-范数缩放数据。

Range

范围上限和下限(下限默认为 0,上限默认为 1)

将数据范围重新缩放至 [a, b] 形式的区间,其中 a < b。

Median IQR

不适用

中心化和缩放数据,使中位数为 0 且四分位差为 1。

Center

Mean(默认值)

中心化以使其均值为 0。

Median

中心化以使其中位数为 0。

Numeric scalar

按指定的数值平移中心。

From workspace

使用数值数组中的值或表中其变量名称与输入数据中的指定表变量匹配的值来平移中心。

Scale

Standard deviation(默认值)

按标准差缩放数据。

Median absolute deviation

按中位数绝对偏差缩放数据。

First element

按数据的第一个元素缩放数据。

Interquartile range

按四分位差缩放数据。

数值标量(默认值为 1)

通过除以指定的数值来缩放数据。

From workspace

使用数值数组中的值或表中其变量名称与输入数据中的指定表变量匹配的值来缩放数据。
Center and scale请参阅 Center 和 Scale 方法参数使用指定的参数中心化并缩放数据。

详细信息

全部展开

版本历史记录

在 R2021b 中推出

全部展开