在matlab中规范化mat文件

G G*_* Gr 1 matlab normalization

我有一个mat文件,其结构如下所示:

在此输入图像描述

如何规范化数据并将其另存为.dat文件(ascii)

Jon*_*nas 5

我假设你想要标准化每一列.

有两种方法可以规范化:

(1)将最小值设置为0,最大值设置为1

dataset = bsxfun(@minus,dataset,min(dataset));
dataset = bsxfun(@rdivide,dataset,max(dataset));
Run Code Online (Sandbox Code Playgroud)

(2)将平均值设置为零,将标准偏差设置为1(如果没有统计工具箱,则分别使用meanstd减去除以如上所述).

dataset = zscore(dataset); 
Run Code Online (Sandbox Code Playgroud)

编辑

为什么有人使用选项2来规范化?

计算不同数据点之间的差异(不相似性)时,您可能需要平均权衡不同的维度.由于具有较大方差的维度将主导不相似性度量,因此将方差归一化为1.