我假设你想要标准化每一列.
有两种方法可以规范化:
(1)将最小值设置为0,最大值设置为1
dataset = bsxfun(@minus,dataset,min(dataset));
dataset = bsxfun(@rdivide,dataset,max(dataset));
Run Code Online (Sandbox Code Playgroud)
(2)将平均值设置为零,将标准偏差设置为1(如果没有统计工具箱,则分别使用mean和std减去除以如上所述).
dataset = zscore(dataset);
Run Code Online (Sandbox Code Playgroud)
编辑
为什么有人使用选项2来规范化?
计算不同数据点之间的差异(不相似性)时,您可能需要平均权衡不同的维度.由于具有较大方差的维度将主导不相似性度量,因此将方差归一化为1.