MATLAB——数据归一化处理(normalize函数)

2024-02-26 1047阅读

温馨提示:这篇文章已超过439天没有更新,请注意相关的内容是否还可用!

数据归一化:数据的归一化是特征缩放(feature scaling)的方法,是数据预处理的关键步骤。不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据归一化处理,以解决数据指标之间的可比性。原始数据经过数据归一化处理后,各指标处于同一数量级,适合进行综合对比评价。

需要使用到的函数为MATLAB中normalize函数。

该函数通过计算 z 值来归一化向量和矩阵中的数据,创建一个向量或矩阵并计算 z 值,从而将数据归一化,使其均值为 0,标准差为 1。

归一化原理具体公式如下:

对于具有均值 μ 和标准差 MATLAB——数据归一化处理(normalize函数) 的随机变量 x,值 x 的 z 值是:

                        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        ​​​​​​​        MATLAB——数据归一化处理(normalize函数)

对于具有均值 m 和标准差 s 的样本数据,数据点 x 的 z 值是:

                                                                MATLAB——数据归一化处理(normalize函数)

注:z 值以标准差为单位测量数据点与均值的距离。标准化后的数据集均值为 0,标准差为 1,并保留原始数据集的形状属性(相同的偏斜度和峰度)。

下面是函数其中几种用法的介绍:

A=magic(4);%创建一个幻方矩阵
N1=normalize(A);%将矩阵A进行归一化处理
N2=normalize(A,'scale');%对A按标准差进行放缩
N3=normalize(A,'range');%对A放缩,使其范围在[0,1]区间。

幻方矩阵就是行之和相同和列之和相同的矩阵。

MATLAB——数据归一化处理(normalize函数)

归一化处理后的结果为:

MATLAB——数据归一化处理(normalize函数)

 下面介绍应用,首先从EXCEL中导入一组数据或者自己自定义一组数据,对其进行归一化处理。

subplot(3,1,1);
x=xlsread('F:\MATLAB2018B\程序文件\23-7-10(2).xlsx','A2:A2720');%提取x时间数据
y=xlsread('F:\MATLAB2018B\程序文件\23-7-10(2).xlsx','C2:C2720');%提取y深度数据
plot(x,y);
datetick('x','HH-MM');
subplot(3,1,2);
Ny=normalize(y);%对数据y进行归一化处理
plot(x,Ny);
datetick('x','HH-MM');
subplot(3,1,3);
Ns=normalize(y,'range');%对数据y进行放缩,使其在[0,1]区间里
plot(x,Ns);
datetick('x','HH-MM');

最终获得的结果进行对比分析:

MATLAB——数据归一化处理(normalize函数)

 可以看出纵坐标进行了放缩,且归一化后的数据波形整体无明显变化,可再将另一组数据导入并归一化进行对比,这样量纲就相同具有可比性。

应用场景:

1、对数据范围有一定要求的情况;

2、数据存在异常值或噪声较多的情况;

3、正态分布的数据。

 

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]