matlab归一化方法,数据归一化的基本方法

matlab归一化方法,数据归一化的基本方法1.线性归一化简单公式表达:y=(x-minValue)/(maxValue-minValue)其中,x是归一化之前的数据,y是归一化之后的数据,maxValue和minValue分别对应这一组数据中的最大值和最小值。范围:[0,1]。适用于:把原来数据等比例缩放限定在某一范围内,在不涉及距离度量和协方差计算的时候使用。2.标准差归一化简单公式表达:y=(x-μ)/σ其中,…

大家好,又见面了,我是你们的朋友全栈君。

1.线性归一化

简单公式表达:y = (x-min Value)/(max Value-min Value)

其中,x是归一化之前的数据,y是归一化之后的数据,max Value 和 min Value 分别对应这一组数据中的最大值和最小值。范围:[0,1]。

适用于:把原来数据等比例缩放限定在某一范围内,在不涉及距离度量和协方差计算的时候使用。

2.标准差归一化

简单公式表达:y = (x-μ)/σ

其中,x,y分别对应归一化前后数据。μ代表这组数据的均差,σ代表这组数据的方差。

适用于:原来数据近似高斯分布。同时是距离度量的。

3.对数归一化

简单公示表达:y= log10(x)

其中,x,y分别对应归一化前后数据。

4.反余切归一化

简单公示表达:y = atan(x)*2/pi

其中,x,y分别对应归一化前后数据。反余切函数的范围在[0,π/2],因此对反余切得到的值乘2除π,把范围控制在[0,1]

5.mapminmax

这是matlab中封装好的方法,是线性归一化的一种。

表达式为:y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin

其中,x,y分别对应归一化前后数据。xmax,xmin分别对应处理前数据的最大值和最小值,而ymax,ymin则是处理后的数据的最大值最小值,换言之,就是我们希望我们处理后的数据的范围。matlab中使用方式是,[matlab_minmax_data,s1] = mapminmax(minmax_data);

matlab_minmax_data是处理后的矩阵,s1为mapminmax操作的索引,可以输出查看。minmax_data是处理前的数据。

简单matlab代码实现

%% 初始的数据部分

% 未经处理的数据data

data = [1,3,9,20,2,6; ];

% 获取数据的个数,也就是矩阵的列数。

data_l=size(data,2);

%% 进行线性函数归一化

%分配内存空间

minmax_data = zeros(1,data_l);

for n=1:data_l

%当前的值减去最小值,再除以最大值最小值之差

minmax_data(:,n)=(data(:,n)-min(data))/(max(data)-min(data));

end

%输出结果

disp(‘线性归一化’);

disp(minmax_data);

%% 进行标准差归一化化

%分配内存空间

zscore_data = zeros(1,data_l);

for m=1:data_l

%当前值减去均值,再除以标准差

zscore_data(:,m)=(data(:,m)-mean(data))/std(data);

end

%输出结果

disp(‘标准差归一化’);

disp(zscore_data);

%% 进行对数归一化

% 分配内存空间

log_data = zeros(1,data_l);

for n=1:data_l

log_data(:,n)=log10(data(:,n));

end

% 输出结果

disp(‘对数归一化’);

disp(log_data);

%% 进行反余切归一化

% 分配内存空间

atan_data = zeros(1,data_l);

for n=1:data_l

%反余切函数的范围在[0,π/2],因此对反余切得到的值乘2除π,把范围控制在[0,1]

atan_data(:,n)=atan(data(:,n))*2/pi;

end

%输出结果

disp(‘反余切归一化’);

disp(atan_data);

%% 进行mapminmax归一化

[matlab_minmax_data,s1] = mapminmax(minmax_data);

%输出结果

disp(‘mapminmax归一化’);

disp(matlab_minmax_data);

%输出归一化的索引

disp(‘mapminmax归一化索引’);

disp(s1);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/152336.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • arouter实现activity跳转原理

    arouter实现activity跳转原理一、思路分析arouter让我们可以非常简单地实现组件间页面跳转,实现的基本思路是1.在对应的activity上加上注解,通过apt技术来自动生成代码,代码能将activity对应路径和class添加到路由表中;2.通过扫描获取所有类,遍历自动执行步骤1中所生成地代码,从而路由表中有了对应地数据,路由表的数据结构为Map<String,Class<?e…

    2022年5月21日
    65
  • Fiddler实现手机抓包——小白入门

    Fiddler实现手机抓包——小白入门手机用fiddler抓包电脑最好是笔记本,这样能和手机保持统一局域网内;其他不多说,直接说步骤了。一.对PC(笔记本)参数进行配置  1.配置fiddler允许监听到https(fiddler默认只抓取http格式的)        打开Fiddler菜单项Tools-&gt;TelerikFiddlerOptions-&gt;HTTPS,        勾选Capt…

    2022年4月20日
    130
  • 怎么解决0xc0000005

    怎么解决0xc0000005引起的原因不同,解决方法也不一。方法一、1、点击“开始”-“运行”—输入“cmd”回车,2、在命令提示符下输入“for%1in(%windir%\system32\*.dll)doregsvr32.exe/s%1”。回车后慢慢等(需要点时间1-2分钟都运行完再打开看。方法二、换内存或换内存插槽。方法三、升级系统补丁。方法四、玩QQ时出现这类

    2022年9月28日
    0
  • 全局平均池化(全局池化代替全连接层)

    全局平均池化是在论文NetworkinNetwork中提出的,原文中全局平均池化的作用和优点:思想:对于输出的每一个通道的特征图的所有像素计算一个平均值,经过全局平均池化之后就得到一个维度==类别数的特征向量,然后直接输入到softmax层作用:代替全连接层,可接受任意尺寸的图像优点:1)可以更好的将类别与最后一个卷积层的特征图对应起来(每一个通道对应一种…

    2022年4月18日
    219
  • 基于Linux安装redis

    基于Linux安装redis一、下载redis压缩包进入redis官网https://download.redis.io/releases/选择要下载的版本将下载好的压缩包使用Xftp上传至Linux系统中或者直接在Linux中使用命令直接下载wgethttps://download.redis.io/releases/redis-4.0.0.tar.gz使用tar命令解压tarxzfredis-4.0.0.tar.gz二、安装redis进入redis文件夹中,使…

    2022年6月16日
    19
  • class文件与dex文件解析

    class文件与dex文件解析这篇笔记是我去年的时候创建的,结果放到草稿箱里给忘记了,大写的尴尬啊,所以急忙给补上了,此处鄙视一下自己!今天的正题——解析class文件和dex文件。

    2022年6月27日
    77

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号