赞
踩
归一化是将数据限制在[0,1]之间,标准化是将数据限制在一定范围内,一般是指正态化,即均值是0,方差是1,即使数据不满足正态分布,亦可以使用这个方法。
归一化一般采用的是最大最小规范化对原始数据进行线性变换
标准化一般采用的是Z-score规范化:就是均值是0,方差是1的正太分布。
在matlab里面归一化的方法有:premnmx、postmnmx、tramnmx、mapminmax。premnmx指的是归一到[-1 1],tramnmx是变化测试集输入结果,postmnmx是转化测试集输出结果。
mapminmax这个函数可以把矩阵的每一行归一到[a b].默认为[-1 1].
[p_train,PS] = mapminmax(P_train,a,b). 其中P_train是需要归一的矩阵,train是结果
当需要对另外一组数据归一时,比如SVM中的training data用以上方法归一,而test data就可以用下面的方法做相同的归一:t_train = mapminmax('apply',T_train,PS)
当需要把归一的数据还原时,可以用以下命令: T_sim = mapminmax('reverse',t_sim,PS)
- %数据归一化
- [p_train,ps_input]=mapminmax(P_train,0,1);
- [t_train,ps_output]=mapminmax(T_train,0,1);
- p_test=mapminmax('apply',P_test,ps_input);
- %数据反归一化
- T_sim=mapminmax('reverse',t_sim,ps_output);
-
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。