如何将表格数据归一化到[0;1]范围

我在Matlab中有一个表格,我想将数据归一化到0和1之间,这是我表格中的一行:

6 148 72 35 0 33.6000000000000 0.627000000000000 50

归一化数据的最佳方法是什么?是按每一列归一化好,还是将所有相关单元格一起归一化好?

编辑于2016年5月24日我只是需要将数据归一化以获得特定范围的值


回答:

归一化可以指(a) 将不同尺度上获得的数据进行调整以便进行比较,或者(b) 尝试将数据的统计分布调整到正态分布。

在这个数据集中,如果你必须进行归一化,那么应该按列进行。均值和方差在这里似乎是重要的特征。要按列归一化,可以这样做:

m = max(D); % D 是你的数据集矩阵normD = zeros(size(D)); % 这里是你的归一化值for i = 1:length(D)    normD(:,i) = D(:,i)./m(i)end

更快的方法是无需循环:D./repmat(max(D),size(D,1),1)

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注