主要内容

正常化

规范化的数据

描述

例子

N=正常化(一个按方向返回向量z分数的数据一个中心为0,标准差为1。

  • 如果一个是向量吗正常化作用于整个向量一个

  • 如果一个是矩阵吗正常化的每一列一个分开。

  • 如果一个那么是多维数组吗正常化的第一个维度一个它的大小不等于1。

  • 如果一个那是桌子还是时间表呢正常化的每个变量一个分开。

例子

N=正常化(一个昏暗的的维度。一个沿着…操作例如,正常化(2)规范化每一行。

例子

N=正常化(___方法使用前面的任何语法指定规范化方法。例如,正常化(A,“规范”)中的数据规范化一个欧几里得范数(2-范数)。

例子

N=正常化(___方法methodtype指定给定方法的归一化类型。例如,正常化(“规范”,正无穷)中的数据规范化一个使用无穷范数。

N=正常化(___“中心”,centertype“规模”,scaletype使用“中心”而且“规模”方法同时进行。这些是唯一可以一起使用的方法。如果您没有指定centertypescaletype,然后normalize使用该方法的默认方法类型(居中取均值为0,并按标准偏差缩放)。

将此语法用于任何中心和比例类型,可以同时执行这两个方法。例如,N = normalize(A,'center','median','scale','mad').还可以使用此语法指定中心和比例值C而且年代从先前计算的归一化。例如,规范化一个数据集,并将参数保存为[N1,C,S] =正态化(A1).然后,在不同的数据集中重用这些参数N2 = normalize(A2,'center',C,'scale',S)

例子

N=正常化(___名称,值指定使用一个或多个名称-值参数进行平滑的附加参数。例如,正常化(A ' DataVariables datavars)归一化指定的变量datavars一个是一个表格或时间表。

例子

NC年代=正常化(___另外返回居中和缩放值C而且年代用于执行归一化。然后,可以使用中的值规范化不同的输入数据C而且年代N = normalize(A2,'center',C,'scale',S)

例子

全部折叠

通过计算z-score使向量和矩阵中的数据归一化。

创建一个向量v然后计算z分数,将数据归一化,使其均值为0,标准差为1。

V = 1:5;N =正常化(v)
N =1×5-1.2649 -0.6325 0 0.6325

创建一个矩阵B计算每一列的z分数。然后,规范化每一行。

B =魔术(3)
B =3×38 1 6 3 5 7 4 9 2
N1 =正常化(B)
N1 =3×31.1339 -1.0000 0.3780 -0.7559 0 0.7559 -0.3780 1.0000 -1.1339
N2 =正态化(B,2)
N2 =3×30.8321 -1.1094 0.2774 -1.0000 0 1.0000 -0.2774 1.1094 -0.8321

缩放矢量一个除以它的标准差。

A = 1:5;n =正常化(A,“规模”
Ns =1×50.6325 1.2649 1.8974 2.5298 3.1623

规模一个使其范围在区间[0,1]内。

Nr =正态化(A,“范围”
Nr =1×50 0.2500 0.5000 0.7500 1.0000

创建一个向量一个用它的1范数归一化。

A = 1:5;Np =正常化(A,“规范”, 1)
Np =1×50.0667 0.1333 0.2000 0.2667 0.3333

将数据集中在一个均值为0。

Nc =正态化(A,“中心”“的意思是”
数控=1×5-2 -1 0 1 2

创建一个包含五个人身高信息的表格。

姓氏= {“桑切斯”“约翰逊”“李”“Diaz”“棕色”};身高= [71;69;64;67;64];T = table(LastName,Height)
T =5×2表姓氏身高_________ ______ '桑切斯' 71 '约翰逊' 69 '李' 64 '迪亚兹' 67 '布朗' 64

用最大高度归一化高度数据。

N =归一化(T,“规范”正,“DataVariables”“高度”
N =5×2表姓氏身高_________ _______“桑切斯”1“约翰逊”0.97183“李”0.90141“迪亚兹”0.94366“布朗”0.90141

规范化一个数据集,返回计算出的参数值,并重用这些参数,以便将相同的规范化应用于另一个数据集。

用两个变量创建一个时间表:温度而且风速.然后用相同的变量创建第二个时间表,但样本是在一年后采集的。

rng默认的Time1 = (datetime(2019,1,1):days(1):datetime(2019,1,10))';温度= randi([10 40],10,1);风速= randi([0 20],10,1);T1 =时间表(温度,风速,“RowTimes”Time1)
T1 =10×2时间表时间温度风速___________ ___________ _________ 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))';温度= randi([10 40],10,1);风速= randi([0 20],10,1);T2 =时间表(温度,风速,“RowTimes”Time2)
T2 =10×2时间表时间温度风速___________ ___________ _________ 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

使第一个时间表正常化。指定三个输出:规范化表,以及居中和缩放参数值C而且年代函数用它来进行归一化。

[T1_norm,C,S] = normalize(T1)
T1_norm =10×2时间表时间温度风速___________ ___________ _________ 01-Jan-2019 0.57687 -1.4636 02-Jan-2019 0.856 0.92885 03-Jan-2019 -1.4701 0.92885 04-Jan-2019 - 0.856 -0.4785 05-Jan-2019 0.018609 0.36591 06-Jan-2019 -1.4701 -1.6044 07-Jan-2019 -1.0049 - 0.775997 08-Jan-2019 -0.26052 0.8812 09-Jan-2019 0.94905 0.36591 10-Jan-2019 0.94905 0.92885
C =1×2表温度风速  ___________ _________ 28.8 - 13.4
S =1×2表温度风速  ___________ _________ 10.748 - 7.1056

现在让第二个时间表正常化T2使用第一个规范化的参数值。这种技术确保了数据的安全性T2是否以相同的方式居中和缩放T1

T2_norm = normalize(T2,“中心”C“规模”,年代)
T2_norm =10×2时间表时间温度风速___________ ___________ _________ 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

默认情况下,正常化中的任意变量T2也存在于C而且年代.中变量的子集规范化T2属性所操作的变量DataVariables名称-值参数。所指定的变量子集必须出现在C而且年代

指定风速作为要操作的数据变量。正常化操作该变量并返回温度不变。

T2_partial = normalize(T2,“中心”C“规模”年代,“DataVariables”“风速”
T2_partial =10×2时间表Time Temperature WindSpeed ___________ ___________ _________ 01-Jan-2020 30 0.084441 02-Jan-2020 11 -1.8858 03-Jan-2020 36 -1.1822 04-Jan-2020 38 -1.8858 05-Jan-2020 31 -1.6044 06-Jan-2020 33 0.50665 07-Jan-2020 33 0.084441 08-Jan-2020 22 -1.0414 09-Jan-2020 30 0.78812 10-Jan-2020 15 -1.8858

输入参数

全部折叠

输入数据,指定为标量、矢量、矩阵、多维数组、表格或时间表。

如果一个是数字数组并且有类型,则输出也有类型.否则,输出有类型

正常化忽略了一个

数据类型:||表格|时间表
复数支持:金宝app是的

操作维度,指定为正整数标量。如果未指定值,则默认为第一个大小不等于1的数组维数。

对于表格或时间表输入数据,昏暗的不支持,操作将金宝app分别沿着每个表或时间表变量进行。

归一化方法,指定为以下选项之一:

方法

描述

“zscore”

z分数均值为0,标准差为1。

“规范”

2-norm。

“规模”

用标准差来衡量。

“范围”

重新调节数据范围为[0,1]。

“中心”

中心数据有均值0。

“medianiqr”

中心和缩放数据具有中位数0和四分位范围1.

若要返回函数用于规范化数据的参数,请指定C而且年代输出参数。

方法类型,指定为数组、表、两元素行向量或类型名称,具体取决于指定的方法:

方法

方法类型选项

描述

“zscore”

“性病”(默认)

中心和刻度的均值为0,标准差为1。

“稳健”

中心和规模有中位数0和绝对偏差中位数1.

“规范”

正数值标量(默认为2)

p规范。

无穷范数。

“规模”

“性病”(默认)

用标准差来衡量。

“疯了”

规模的绝对偏差中位数

“第一”

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

“差”

规模的四分位范围

数字数组

按数值缩放。数组必须有a兼容的大小与输入一个

表格

使用表中的变量进行缩放。每个表变量都在输入数据一个使用伸缩表中名称相似的变量中的值进行伸缩。

“范围”

2元素行向量(默认为[0 1])

重新调节将数据范围设置为窗体的间隔[b],在那里A < b

“中心”

“的意思是”(默认)

中心的均值为0。

“中值”

中位数为0。

数字数组

按数值居中移位。数组必须有a兼容的大小与输入一个

表格

使用表中的变量来移动中心。每个表变量都在输入数据一个使用居中表中名称类似的变量中的值居中。

若要返回函数用于规范化数据的参数,请指定C而且年代输出参数。

居中和缩放方法类型,指定为任何有效类型methodtype选项。“中心”“规模”方法,分别。看到methodtype参数描述,用于每个方法的可用选项列表。

例子:N = normalize(A,'center',C,'scale',S)

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:正常化(T ' ReplaceValues假)

要操作的表变量,指定为此表中的选项之一。的DataVariablesValue指示要填充输入表中的哪些变量。

表中未指定的其他变量DataVariables传递到输出而不被标准化。

选项 描述 例子
变量名

指定单个表变量名的字符向量或字符串标量

“Var1”

“Var1”

变量名向量

字符向量或字符串数组的单元格数组,其中每个元素都是一个表变量名

{“Var1”“Var2”}

[" Var1”“Var2”)

变量指标的标量或向量

表变量索引的标量或向量

1

[1 3 5]

逻辑向量

一种逻辑向量,其每个元素对应于一个表变量,其中真正的包括相应的变量和不包括它

[真真假假]

函数处理

接受表变量作为输入并返回逻辑标量的函数句柄

@isnumeric

vartype下标

类生成的表下标vartype函数

vartype(数字)

例子:normalize(T,'DataVariables',["Var1" "Var2" "Var4"])

替换值指示符,指定为这些值之一时一个表或时间表:

  • 真正的1-将输入表变量替换为包含规范化数据的表变量。

  • 0-用包含规范化数据的表变量追加输入表变量。

对于向量、矩阵或多维数组输入数据,ReplaceValues不支持。金宝app

例子:正常化(T ' ReplaceValues假)

输出参数

全部折叠

规范化的值,作为数组、表或时间表返回。

N尺寸和一个除非ReplaceValues.如果的值ReplaceValues的宽度N输入数据宽度与指定的数据变量数量的和。

正常化一般操作于输入表和时间表的所有变量,除了以下情况:

  • 如果你指定DataVariables,然后正常化只对指定的变量进行操作。

  • 如果你使用语法正常化(T,“中心”,C,“规模”,年代)使正常化使表格或时间表正常化T使用先前计算的参数C而且年代,然后正常化中的变量名自动使用C而且年代确定数据变量在T给…动手术

以数组或表形式返回的居中值。

一个是一个数组,正常化返回C而且年代作为数组N = (a - c) ./ s.中的每个值C用于沿指定维度执行归一化的居中值。例如,如果一个是一个10 × 10矩阵的数据和正常化那么沿着第一个维度C1 × 10矢量是否包含中每列的居中值一个

一个是一张表格或时间表,正常化返回C而且年代这些表包含了每个被标准化的表变量的中心和比例,N.Var = (A.Var - C.Var) ./ S.Var.的表变量名C而且年代匹配输入中的对应表变量。中的每个变量C中用于规范化类似名称的变量的居中值一个

缩放值,作为数组或表返回。

一个是一个数组,正常化返回C而且年代作为数组N = (a - c) ./ s.中的每个值年代用于沿指定维度执行归一化的缩放值。例如,如果一个是一个10 × 10矩阵的数据和正常化那么沿着第一个维度年代1 × 10的向量是否包含中每列的缩放值一个

一个是一张表格或时间表,正常化返回C而且年代这些表包含了每个被标准化的表变量的中心和比例,N.Var = (A.Var - C.Var) ./ S.Var.的表变量名C而且年代匹配输入中的对应表变量。中的每个变量年代中用于规范化名称相似的变量的缩放值一个

更多关于

全部折叠

Z分数

z-分数衡量一个数据点的距离从平均值的标准偏差。标准化数据集的均值为0,标准差为1,并保留原始数据集的形状属性(相同的偏度和峰度)。

对于一个随机变量X均值为μ,标准差为σz-一个值的得分x z x μ σ 对于带均值的样本数据 X ¯ 还有标准差年代,z-一个数据点的得分x z x X ¯ 年代

P规范

的一般定义p-向量的模vN元素

v p k 1 N | v k | p 1 / p

在哪里p是否有正的实值,,或.一些常见的价值观p是1,2,和

  • 如果p为1,则得到的1范数是向量元素绝对值的和。

  • 如果p为2,则得到的2范数给出向量的大小或向量的欧氏长度。

  • 如果p,然后 v 马克斯 | v |

重新调节

通过沿着数轴拉伸或压缩点,重新缩放可以更改数据集中最小值和最大值之间的距离。的z-数据的分数被保留,因此分布的形状保持不变。

重新缩放数据的方程X到任意区间[b]

X r e 年代 c 一个 l e d 一个 + X 最小值 X 马克斯 X 最小值 X b 一个

正常化而且重新调节函数既可以将数据重新缩放到任意间隔,重新调节还允许将输入数据剪切为指定的最小值和最大值。

四分位范围

数据集的四分位间距(interquartile range, IQR)描述的是对数据进行排序时,处于中间50%的值的范围。如果数据的中位数为第二季,则数据下半部分的中位数为第一季度,数据上半部分的中位数为第三季,然后 Iqr = q3 - q1

当数据包含异常值(非常大或非常小的值)时,IQR通常比查看整个数据范围更可取,因为IQR排除了数据中最大的25%和最小的25%。

绝对偏差中位数

数据集的中位数绝对偏差(MAD)是与中位数的绝对偏差的中位数 X ˜ 数据方面: 疯了 中位数 | x X ˜ | .因此,MAD描述了数据相对于中位数的可变性。

当数据包含异常值(非常大或非常小的值)时,MAD通常优于使用数据的标准偏差,因为标准偏差与平均值的偏差的平方会给异常值带来过大的影响。相反,少数异常值的偏差不会影响MAD的值。

扩展功能

版本历史

在R2018a中引入

全部展开

另请参阅

功能

实时编辑任务

应用程序