正常化
规范化的数据
语法
描述
指定给定方法的归一化类型。例如,N
=正常化(___,方法
,methodtype
)正常化(“规范”,正无穷)
中的数据规范化一个
使用无穷范数。
使用N
=正常化(___“中心”,centertype
“规模”,scaletype
)“中心”
而且“规模”
方法同时进行。这些是唯一可以一起使用的方法。如果您没有指定centertype
或scaletype
,然后normalize使用该方法的默认方法类型(居中取均值为0,并按标准偏差缩放)。
将此语法用于任何中心和比例类型,可以同时执行这两个方法。例如,N = normalize(A,'center','median','scale','mad')
.还可以使用此语法指定中心和比例值C
而且年代
从先前计算的归一化。例如,规范化一个数据集,并将参数保存为[N1,C,S] =正态化(A1)
.然后,在不同的数据集中重用这些参数N2 = 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分别沿着每个表或时间表变量进行。
methodtype
- - - - - -方法类型
数组|表格|二元行向量|类型名称
方法类型,指定为数组、表、两元素行向量或类型名称,具体取决于指定的方法:
方法 |
方法类型选项 |
描述 |
---|---|---|
|
|
中心和刻度的均值为0,标准差为1。 |
|
中心和规模有中位数0和绝对偏差中位数1. |
|
|
正数值标量(默认为2) |
p规范。 |
|
无穷范数。 | |
|
|
用标准差来衡量。 |
|
规模的绝对偏差中位数. | |
|
按数据的第一个元素缩放。 | |
|
规模的四分位范围. | |
数字数组 |
按数值缩放。数组必须有a兼容的大小与输入一个 . |
|
表格 |
使用表中的变量进行缩放。每个表变量都在输入数据一个 使用伸缩表中名称相似的变量中的值进行伸缩。 |
|
|
2元素行向量(默认为[0 1]) |
重新调节将数据范围设置为窗体的间隔[b] ,在那里A < b . |
|
|
中心的均值为0。 |
|
中位数为0。 | |
数字数组 |
按数值居中移位。数组必须有a兼容的大小与输入一个 . |
|
表格 |
使用表中的变量来移动中心。每个表变量都在输入数据一个 使用居中表中名称类似的变量中的值居中。 |
centertype
,scaletype
- - - - - -中心和比例方法类型
数组|表格|类型名称
居中和缩放方法类型,指定为任何有效类型methodtype
选项。“中心”
或“规模”
方法,分别。看到methodtype
参数描述,用于每个方法的可用选项列表。
例子:N = normalize(A,'center',C,'scale',S)
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:正常化(T ' ReplaceValues假)
DataVariables
- - - - - -要操作的表变量
表变量名|标量|向量|单元阵列|函数处理|表格vartype
下标
要操作的表变量,指定为此表中的选项之一。的DataVariables
Value指示要填充输入表中的哪些变量。
表中未指定的其他变量DataVariables
传递到输出而不被标准化。
选项 | 描述 | 例子 |
---|---|---|
变量名 | 指定单个表变量名的字符向量或标量字符串 |
|
变量名向量 | 由字符向量或字符串数组组成的单元格数组,其中每个元素都是表变量名 |
|
变量指标的标量或向量 | 表变量索引的标量或向量 |
|
逻辑向量 | 一种逻辑向量,其每个元素对应于一个表变量,其中 |
|
函数处理 | 接受表变量作为输入并返回逻辑标量的函数句柄 |
|
vartype 下标 |
类生成的表下标 |
|
例子:normalize(T,'DataVariables',["Var1" "Var2" "Var4"])
ReplaceValues
- - - - - -替换值指示器
真正的
或1
(默认)|假
或0
替换值指示符,指定为这些值之一时一个
表或时间表:
真正的
或1
-将输入表变量替换为包含规范化数据的表变量。假
或0
-用包含规范化数据的表变量追加输入表变量。
对于向量、矩阵或多维数组输入数据,ReplaceValues
不支持。金宝app
例子:正常化(T ' ReplaceValues假)
输出参数
N
-规范化值
数组|表|时间表
规范化的值,作为数组、表或时间表返回。
N
尺寸和一个
除非ReplaceValues
是假
.如果的值ReplaceValues
是假
的宽度N
输入数据宽度与指定的数据变量数量的和。
正常化
一般操作于输入表和时间表的所有变量,除了以下情况:
如果你指定
DataVariables
,然后正常化
只对指定的变量进行操作。如果你使用语法
正常化(T,“中心”,C,“规模”,年代)
使正常化使表格或时间表正常化T
使用先前计算的参数C
而且年代
,然后正常化
中的变量名自动使用C
而且年代
确定数据变量在T
给…动手术
C
-定心值
数组|表
以数组或表形式返回的居中值。
当一个
是一个数组,正常化
返回C
而且年代
作为数组N = (a - c) ./ s
.中的每个值C
用于沿指定维度执行归一化的居中值。例如,如果一个
是一个10 × 10矩阵的数据和正常化
那么沿着第一个维度C
1 × 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是
P规范
的一般定义p-向量的模v有N元素
在哪里p是否有正的实值,正
,或负
.一些常见的价值观p是1,2,和正
.
如果p为1,则得到的1范数是向量元素绝对值的和。
如果p为2,则得到的2范数给出向量的大小或向量的欧氏长度。
如果p是
正
,然后 .
重新调节
通过沿着数轴拉伸或压缩点,重新缩放可以更改数据集中最小值和最大值之间的距离。的z-数据的分数被保留,因此分布的形状保持不变。
重新缩放数据的方程X
到任意区间[b]
是
而正常化
而且重新调节
函数既可以将数据重新缩放到任意间隔,重新调节
还允许将输入数据剪切为指定的最小值和最大值。
四分位范围
数据集的四分位间距(interquartile range, IQR)描述的是对数据进行排序时,处于中间50%的值的范围。如果数据的中位数为第二季,则数据下半部分的中位数为第一季度,数据上半部分的中位数为第三季,然后 .
当数据包含异常值(非常大或非常小的值)时,IQR通常比查看整个数据范围更可取,因为IQR排除了数据中最大的25%和最小的25%。
绝对偏差中位数
数据集的中位数绝对偏差(MAD)是与中位数的绝对偏差的中位数 数据方面: .因此,MAD描述了数据相对于中位数的可变性。
当数据包含异常值(非常大或非常小的值)时,MAD通常优于使用数据的标准偏差,因为标准偏差与平均值的偏差的平方会给异常值带来过大的影响。相反,少数异常值的偏差不会影响MAD的值。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
使用注意事项和限制:
输出
C
而且年代
不支持。金宝app的
“中心”
而且“规模”
方法不能同时指定。的支持方金宝app法类型
“中心”
是:“的意思是”
,“中值”
,或数值标量。的支持方金宝app法类型
“规模”
是:“性病”
,“疯了”
,“第一”
,或数值标量。的
DataVariables
名称-值参数不能指定函数句柄。需要沿第一维计算中位数或四分位范围的归一化方法只支持高列向量数据。金宝app这包括以下方法
正常化(___,“zscore”,“健壮”)
,正常化(___,“规模”,“疯狂”)
,正常化(___,“规模”,“差”)
,正常化(___,“中心”、“中值”)
,正常化(___ medianiqr)
.
有关更多信息,请参见高大的数组.
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
的
ReplaceValues
不支持名称-值参数。金宝app当方法键入for时
“中心”
而且“规模”
都是表和DataVariables
则方法类型的表变量名的顺序必须相同。
线程环境
使用MATLAB®在后台运行代码backgroundPool
或使用并行计算工具箱™加速代码ThreadPool
.
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
本功能完全支持GPU阵列。金宝app有关更多信息,请参见在图形处理器上运行MATLAB函数(并行计算工具箱).
分布式阵列
使用并行计算工具箱™跨集群的组合内存对大型数组进行分区。
使用注意事项和限制:
的语法
正常化(___ medianiqr)
不支持。金宝app的语法
正常化(___,“规模”,“差”)
不支持。金宝app
有关更多信息,请参见运行MATLAB函数与分布式阵列(并行计算工具箱).
版本历史
在R2018a中引入R2022a:附加规范化值
属性,可以将输入表变量附加为包含规范化数据的表变量,而不是替换ReplaceValues
参数的名称-值假
.
的ReplaceValues
名称-值参数仅支持表和时间表输入数据。金宝app
第一MATLAB
海脂循环匹配函数对应求解MATLAB:
Esegui il commanmando inserendolo nella finestra di commanmando MATLAB。我的浏览器web不支持和MATLAB金宝app。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。