去量纲方法介绍及MATLAB代码实现‌

有些时候我们需要对数据去除量纲,例如对数据聚类之前、或者使用神经网络模型预测时。

下面我们介绍两种常见的方法:

方法1:Min-Max Scaling

方法2:Z-score Normalization

假设原来的数据是x:

x = [3 5 6 2 1];

给大家举例,假设原来的数据为[3 5 6 2 1],最小值为1,最大值为6,因此将数据中的每个数都减去最小值1,然后再除以5(由6-1计算得到),就能够得到特征缩放的结果:[0.4 0.8 1 0.2 0].

代码如下:

xmin = min(x);
xmax = max(x);
new_x = (x - xmin)/(xmax-xmin);
disp(new_x)

代码如下:

x_mean = mean(x);
x_std = std(x);   % 一般是样本标准差
new_x = (x - x_mean) / x_std;
disp(new_x)

如果x是一个矩阵,要对每一列分别标准化,那么可以采用下面的代码:

x = [12 1 7;
    12 20 4;
    17 16 10;
    3 16 17;
    7 3 13];
% 方法1:Min-Max Scaling
xmin = min(x);
xmax = max(x);
new_x = (x - xmin)./(xmax-xmin);
disp(new_x)
% 方法2Z-score Normalization
x_mean = mean(x);
x_std = std(x);   % 一般是样本标准差
new_x = (x - x_mean) ./ x_std;
disp(new_x)

事实上只需要将原来代码中的除法变成./即可。

在线性代数中,只有两个大小完全相同的矩阵才可以进行相加,而在MATLAB中,只要两个矩阵的大小兼容,就能够进行计算。

以矩阵的加法为例,下表我们给出了MATLAB支持的五种算术运算的兼容模式:

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空