我在matlab中有一个表,我想在0和1之间规范化数据 这是我的一排:
6 148 72 35 0 33.6000000000000 0.627000000000000 50
规范化数据的最佳方法是什么, 哪一个更好, 每个coloumn标准化或标准化影响在一起的所有细胞?
2016年5月24日编辑 我只需要规范化我的数据以获得特定的值范围
答案 0 :(得分:1)
归一化可以意味着(a)对比/调整在不同尺度上获得的数据以便能够进行比较,或者(b)尝试将数据的统计分布与正态分布对齐。
在此数据集中,如果您要进行规范化,那么它是按列进行的。虽然平均值和方差似乎是重要的特征。按列标准化:
m = max(D); % D is your dataset matrix
normD = zeros(size(D)); % Here are your normalized values
for i = 1:length(D)
normD(:,i) = D(:,i)./m(i)
end
更快的方法是不使用循环:D./repmat(max(D),size(D,1),1)