首页 > 编程知识 正文

matlab对数据进行标准化处理,matlab标准化处理函数

时间:2023-05-06 06:44:18 阅读:18461 作者:3870

一、mapminmaxprocessmatricesbymappingrowminimumandmaximumvaluesto [-1 ]

意味着将矩阵的各行处理在[-1,1 ]区间。 在这种情况下,在模式识别和其他统计学中,数据必须按列为样本,每行必须是多个样本的同一维。 也就是说,在M*N矩阵中,样本维度为m,样本数量为n,总共n列中有n个样本。

主要调用格式如下

1. [Y,PS ]=最大最大值(x,YMIN,YMAX )。

2. [Y,PS ]=最大最小(x,FP ) )。

3.y=最大混合(应用)、x、PS () ) ) ) ) ) ) ) ) )。

4.x=mapminmax('reverse ',y,PS ) ) ) ) ) ) )。

5.dx_dy=mapminmax(dx_dy )、x、y、PS ) )。

对于第一和第二调用格式,x是预处理数据,Ymin和Ymax是预期的每行最小值和最大值,FP是一个结构的成员,主要是FP.Ymin、FP.Ymax。 该结构可以代替ymin和ymax,第一和第二处理效果只是参数的引入形式不同。

代码:

x=[2、3、4、5、6; 七、八、九、十、十一; mapminmax(x,0,1 ) fp.ymin=0; fp.ymax=1; mapminmax(x,fp )而对于三个方程,在模式识别或统计学中,PS是训练样本数据的映射,即PS包括训练数据的最大值和最小值,其中x是测试样本数据的映射如果将y作为测试样本,并假设共有两个测试样本,则代码为:如下所示

x=[2、3、4、5、6; 七、八、九、十、十一; y=[ 2,3; 4,5 ); [xx,PS ]=最大最小(x,0,1 ); mapminmax(apply )、y、ps )针对4个式,反转预处理后的数据而得到原始数据。

x=[2、3、4、5、6; 七、八、九、十、十一; y=[ 2,3; 4,5 ); [xx,PS ]=最大最小(x,0,1 ); YY=映射最小(应用)、y、ps ); 最大混合((' reverse ',yy,ps ) ) ) ) ) )。

关于5式,根据给定的矩阵x、归一化矩阵y和映射PS取得逆导数(reverse derivative )。 如果给定的x和y是m行n列的矩阵,则结果dx_dy是1n结构阵列,其中每个元素也是mn的对角矩阵。 这个用法很少用,这里不举个例子。

二、映射混合原理及其实现映射混合的公式为y=(ymax-ymin ) (*(x-xmin )/)/(xmax-xmin ) ymin。 如果某一行的数据全部相同,此时xmax=xmin,除数为0,则此时数据不变。

matlab实现:

函数[ out ]=mymap minmax (x,ymin,ymax ) out=) ymax-ymin ).*(x-repmat ) min(x,[ ],2 ),1,size ) 索引=isnan (out; out (索引)=x )索引; 请注意,end上的代码假设数据x的示例是列向量。

三、映射TD标准化processmatricesbymappingeachrow ' smeansto0anddeviationsto 1:将矩阵中的每一行映射为0均值1方差的数据。

主要调用格式如下

1. [Y,PS]=mapsTD(x,ymean,ystd ) )。

2. [Y,PS]=mapsTD(x,FP ) )。

3.y=maps TD (应用),x,PS ) ) ) )。

4.x=mapsTD(reverse ),y,PS ) ) ) )。

5.dx_dy=mapsTD(dx_dy ),x,y,PS ) )。

与mapminmax一样,第一和第二表达式标准化了数据x,其中ymean和ystd是想要获得数据的每行的平均值和方差,同样也可以在包含ymean和ystd的结构中引入。

x=[2、3、4、5、6; 七、八、九、十、十一; y=[ 2,3; 4,5 ); [xx,PS]=mapsTD(x,0,1 ) fp.ymean=0; fp.ystd=1; [xx,PS]=mapstd(x,fp )表达式预处理测试数据,使用训练数据中的平均值和方差进行处理,表达式4反转预处理后的数据。

x=[2、3、4、5、6; 七、八、九、十、十一; y=[ 2,3; 4,5 ); [xx,PS]=mapsTD(x,0,1 ); YY=mapsTD(apply )、y、ps ); 映射TD (反转)、yy、PS ) )。

四、mapstd标准化实现公式为y=(x-xmean ) ) *(ystd/xstd ) ymean。 如果设置ystd=0,或者某一行中的所有数据都相同,则xstd=0

function[out]=mymapSTD(x,yymean,ystd ) out=(x-repmat ) mean,2 )、1,size,2 ) ) ) )/repmat )

五、对mean、std等函数的说明mean默认合计各列,mean(x,2 )合计各行,std函数默认求出标准差无偏估计,有三种用法,s=STD(x )、s=STD(x )

其中,flag是无偏估计的参数,flag=0是无偏估计,即默认是无偏估计,flag=1是无偏估计,dim表示在第几个维度上求方差,STD(x,0,)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。