数据归一化的基本方法

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);

 

 

 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值