标准化训练数据后,测试与线上部署的数据如何进行标准化?

  统计/机器学习 数据预处理 TensorFlow    浏览次数:4538        分享
1

本人初学一段时间,因为模型只包含一层输入层和LSTM,所以采用了


min_max_scaler = preprocessing.MinMaxScaler()
data_array = min_max_scaler.fit_transform(data_array)

这样的预先归一化的方法,训练数据的最大最小范围在8000~10000,训练完毕后该如何对测试和真实预测数据进行归一化呢,两个疑惑:

1.测试与预测数据范围与训练数据不同,出现了6000或者更低更高的情况,这种情况下sklearn的函数训练MAX,MIN与真实情况不一样,该如何处理?

2.训练数据batch较大为128,预测数据只有1size,这种在代码上如何处理?

另外,能否给出完整的代码区分训练,测试,预测呢,BN的处理也行,非常感谢,使用的是tensorflow

 

candrwow   2018-11-29 16:17



   1个回答 
1

我觉得你不能分别对train和test做标准化,不然就会有问题。你应该对train做标准化,然后用标准化的结果作用在test上。

比如

# 对整个训练集标准化
min_max_scaler = preprocessing.MinMaxScaler()
train_scaled = min_max_scaler.fit_transform(train)
# 利用上面的min_max_scaler对某一个测试样本进行标准化
test_sample_scaled = min_max_scaler.transform(test_sample)

至于第二个问题,本来predict的时候就是一个个进行预测的,没有所谓的batch吧

SofaSofa数据科学社区DS面试题库 DS面经

lllinnn   2018-12-01 16:16



  相关讨论

模仿tensorflow教程10-11的代码,报错,求解

tf.truncated_normal和tf.random_normal有什么区别?

pycharm+anaconda的安装问题

如何通过docker安装TensorFlow

tf.reduce_sum是什么函数

tf.add和直接使用加号+有什么区别吗?

tf.placeholder和tf.variable什么区别?

tensorflow如何给要预测的标签增加约束?

tensorflow 训练的时候输出nan

BatchNormalization

  随便看看

凸函数、凸集分别是什么意思?

逻辑回归模型中变量的系数怎么理解?

主成分分析法(PCA)算是黑盒算法吗?

怎么理解库克距离(Cook's distance)?

pandas读取csv中指定的某些列