在做预测问题时,当数据的量纲存在较大差异时,归一化非常重要。以下问题是我遇到的:
1.多个维度的数据,是对每一个样本进行归一化?还是对每一个维度(属性)归一化
2.训练集和测试集放在一起归一化?还是分开归一化?
问题1:
对每一个属性进行归一化,从sklearn的文档中提到:
MinMaxScaler,This estimator scales and translates each feature individually such that it is in the given range on the training set.
在上一篇博客中也使用了空气污染预测做了实验。
问题2:在搜集到的资料中,大部分都是将训练集和测试集放在一起归一化,可是这样测试集就对模型有了影响,只要换了测试集训练出来的模型就不一样。当使用训练好的模型去预测其他的数据集时,不知道是否合适。而且如果这样的话,每次一更换测试集就需要将其余训练集放在一起重新归一化,再去训练新的模型。目前为了更好的结果,我采用的是这种方法。
也有人提到用归一化训练集的最大最小值来归一化预测值,这样的话预测值就会被限定在一个范围,这样做的原因是:训练集和测试集应该是独立同分布的,有理由认为最大值和最小值就出现在训练集中。但在用python实现时,发现这样操作并不是很方便。