matlab归一化的方法

mapminmax

每行的最小值和最大值映射到默认区间 [ -1,+1]。

算法:
y = (ymax-ymin)*(x-xmin)/(xmax-xmin) + ymin;

假设X仅有有限实数值,并且每行的元素并不全部相等。(如果xmax=xmin或 如果 xmaxxmin是非有限的,则y=x 不会发生任何变化。)

把X’归一化到0.01到1

x=mapminmax(X',0.01,1);

归一化

x1 = [1 2 4; 1 1 1; 3 2 2; 0 0 0]
[y1,PS] = mapminmax(x1)

在这里插入图片描述
在这里插入图片描述
注释:
1.每一行最大值变为1,最小值变为-1.
2.如果xmax=xmin,则y=x 不会发生任何变化。

反归一化

x1_again = mapminmax('reverse',y1,PS)

在这里插入图片描述

zscore标准化

标准化即去除量纲

2021b代码
在这里插入图片描述

zcore标准化目的是去除量纲,使得方差相等。

ab=zscore (S) ;
ab=zscore (S) ;
 a=ab(:,[1:3]); b=ab( : ,[4 :end]);

在这里插入图片描述
在这里插入图片描述

反标准化

y1 =  predict(gprMdl1, x);
   y1 =  exp(y1) / (1 + exp(y1));  % 乙醇转化率
   y2 =  predict(gprMdl2, x);
   y2 =  exp(y2) / (1 + exp(y2));  % C4烯烃选择性
Matlab中,有几种常见的数据归一化方法可以使用。其中两种常见的方法分别是Z-score归一化和Decimal Scaling归一化。 Z-score归一化是将数据转化为标准正态分布,使得数据的均值为0,标准差为1。在Matlab中,可以使用zscore函数来实现Z-score归一化。例如,对于给定的数据X,可以使用以下代码进行Z-score归一化:X_norm = zscore(X)。 Decimal Scaling归一化是通过除以最大绝对值的数量级来将数据缩放到[-1,1]之间。在Matlab中,可以使用以下代码实现Decimal Scaling归一化:k = ceil(log10(max(abs(X))));X_norm = X/(10^k)。其中,k是将数据缩放至[-1,1]所需的数量级。 选择适合的归一化方法取决于数据的特点和具体的应用场景。不同的归一化方法可能适用于不同类型的数据和不同的分析目的。在数据处理过程中,选择合适的归一化方法可以提高后续数据分析的效率和准确性,同时也能避免一些潜在的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Matlab实现数据归一化](https://blog.csdn.net/NoerrorCode/article/details/131629692)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值