所以我实现了一些聚类算法,我应该创建一个算法来规范化数据并比较有和没有归一化的聚类。
我实现的非常简单,只是最小-最大归一化(我正在使用 Matlab 顺便说一句):
function [dataNorm] = nMinMax(data)
[x, y] = size(data);
dataNorm = zeros(x, y);
for j = 1:y
m = min(data(:,j));
M = max(data(:,j));
for i = 1:x
n = (data(i,j) - m)/(M-m);
dataNorm(i,j) = n;
end
end
end
这就是我从没有标准化的聚类中得到的:
现在它变得奇怪了,在标准化之后,这就是我得到的:
集群是相同的,当我认为它应该改善结果时......
所以我的问题是,我的算法有问题还是我以错误的方式解释结果?如果我是,标准化后集群应该是什么样子?