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

  统计/机器学习 数据预处理 TensorFlow    浏览次数: 64
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面经 问答 实战

lllinnn   2018-12-01 16:16



  相关主题

tf.truncated_normal和tf.random_normal有什么区别?   1回答

pycharm+anaconda的安装问题   1回答

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

tf.reduce_sum是什么函数   1回答

如何通过docker安装TensorFlow   1回答

用tensorflow实现强化学习的dql算法报错:tensorflow.python.framework.errors_impl.InternalError: Could not find valid device for node. Node: {{node OneHot}} = OneHot[T=DT_FLOAT, TI=DT_FLOAT, axis=-1](dummy_input, dummy_input, dummy_input, dummy_input)   0回答

tf.placeholder和tf.variable什么区别?   1回答

怎么print或者查看tf.tensor中的数值   1回答

tensorflow 训练的时候输出nan   1回答

tensorflow里出现的strides是什么意思   1回答

tf.placeholder(tf.float32, shape=(None, 1024))中的None是什么意思   1回答

tensorflow里面怎么自定义一个loss function?   2回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!