matlab中的归一化方法
在数据处理的过程中,为了标准的统一,我们往往要对数据进行归一化。大多数人觉得这比较简单,不就是形如(x-min)/(max-min)这样么。事实上,这样想是没错的。事实上,我们使用matlab的内置函数,来进行数据的归一化,在处理大量的数据时,会节省不少的时间。有内置函数用的,尽量用内置函数,可以减少不必要的时间消耗。举些例子来说明问题吧。clc;clearP=magic(4)T=[1 2 3
·
在数据处理的过程中,为了标准的统一,我们往往要对数据进行归一化。大多数人觉得这比较简单,不就是形如(x-min)/(max-min)这样么。事实上,这样想是没错的。事实上,我们使用matlab的内置函数,来进行数据的归一化,在处理大量的数据时,会节省不少的时间。有内置函数用的,尽量用内置函数,可以减少不必要的时间消耗。
举些例子来说明问题吧。
clc;clear
P=magic(4)
T=[1 2 3 4]
[Pn,minp,maxp,Tn,mint,maxt]=premnmx(P,T)%按行取最大最小且归一化到-1到1之间
[PN]=tramnmx(P,minp,maxp)
%此处的max min为数据按行所给的可能数据范围,不一定是所给矩阵的最值,将矩阵按行以此
%范围模入到-1到1之间,例如[PN]=tramnmx(5,0,10)
[p,t] = postmnmx(P.*5,minp,maxp,Tn,mint,maxt)
%假如P是处理后(按行)的-1到1之间的数,我们将其还原到标准化之前,
%其中minp对应-1,假如P不是-1到1之间的,我们不加讨论
[Y,PS]=mapminmax(T)
%按行做归一化处理,默认是按行,单个数不做处理
[Y,PS]=mapminmax(P,0,1)
%按行归一化到0,1并返回这个映射到PS,他是个结构体
t=mapminmax('apply',T,PS)
%将此归一应用到其他数上,按行处理
X=mapminmax('reverse',Y,PS)
%反归一化过程
自己个看程序细细体会一下吧,很多多余的系统化的东西,查帮助都能找到。向来不喜欢和别人一样,系统地一点一点说下来,你也记不住,我也浪费时间。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)