LTSM模型预测数据如何归一化?(知乎回答)

小白想问一个问题困扰很久的问题。我已经训练好了一个LTSM网络模型,训练的数据都是经过归一化,但是我用新的数据进行预测的时候,预测数据也要归一化吗?如果我用于预测的新数据恰好就是一个数值,归一化后就是1,那是不是直接预测成最大值了?

其实这个不仅仅是针对LSTM模型,而是针对机器学习中的任何模型。通常,为了使得训练出来的模型具有更强的泛化能力以及加快模型的训练速度,我们需要对数据集进行划分。一般来说都将数据集划分成训练集与测试集两个部分,训练集用来训练模型测试集用来测试模型。但是,由于各类原因我们在训练模型时需要对数据进行归一化或者其他的特征缩放,那么此时应该怎么做呢?一个大的原则就是利用训练时归一化训练集得到的参数来归一化未来新的数据,包括测试集,并且必须是这样。 下面以min-max归一化进行举例说明:

1 数据生成

生成数据集,并以7-3的比例划分数据集:

x = np.random.randint(0, 100, 20).reshape(10, 2)x_train, x_test = x[:7], x[-3:]

#结果# x      x_train      x_test[[75 27] [[75 27] [[34 75] [ 6  2]  [ 6  2]  [74  0] [ 3 67]  [ 3 67]  [76 13]] [76 48]  [76 48] [22 49]  [22 49] [52  5]  [52  5] [13 89]  [13 89]] [34 75] [74  0] [76 13]]

2 训练集归一化

训练集为标准进行归一化,同时以归一化得到的参数对测试集进行归一化。

def feature_scalling(X):    mmin = X.min()    mmax = X.max()    return (X - mmin) / (mmax - mmin), mmin, mmax

x_train, mmin, mmax = feature_scalling(x_train)print(mmin,mmax)print(x_train)

#结果2 89[[0.83908046 0.28735632] [0.04597701 0.        ] [0.01149425 0.74712644] [0.85057471 0.52873563] [0.22988506 0.54022989] [0.57471264 0.03448276] [0.12643678 1.        ]]

由于采用的是min-max归一化,所以训练集中第一个样本被归一化的计算过程为:

3 测试集归一化

在对训练集进行归一化后,我们便得到了归一化中需要的参数最小值mmin,和最大值mmax。此后,只要是用训练集训练得到的模型对其他任何新数据进行预测时,做归一化用到的参数都必须是上述的mmin和mmax。尽管此时测试集中的最小值为0,但还是要以mmin为最小值进行归一化。

x_test = (x_test-mmin)/(mmax-mmin)print(x_test)

#结果[[ 0.36781609  0.83908046] [ 0.82758621 -0.02298851] [ 0.85057471  0.12643678]]

所以,测试集中样本被归一化的过程为:

4 新数据归一化

可能某一天突然要对一个新来的数据进行预测,那么也要对其用已有的归一化参数进行归一化:

此时,尽管新数据中的-5与98均分别小于训练集中的2与89,但是依旧要以训练集中的最大值最小值为准。

5 总结

总结就是,预测的时候千万不要拿新数据里面的最大值与最小值来对新数据进行归一化,而是应该取训练时数据里的最大值和最小值来对新数据来归一化。因此,在使用其他方式进行特征标准化时,训练集标准化后同样需要将对应的参数保存下来以便后续新数据的标准化。本次内容就到此结束,感谢阅读!

若有任何疑问,请发邮件至moon-hotel@hotmail.com并附上文章链接,青山不改,绿水长流,月来客栈见!

2vec需要归一化吗_LTSM模型预测数据如何归一化?(知乎回答)相关推荐

  1. python 用模型预测数据 代码_万字案例 | 用Python建立客户流失预测模型(含源数据+代码)...

    客户流失是所有与消费者挂钩行业都会关注的点.因为发展一个新客户是需要一定成本的,一旦客户流失,成本浪费不说,挽回一个客户的成本更大. 今天分享一个用户流失预测,以电信行业为例. 所以,电信行业在竞争日 ...

  2. 程序员教你如何用 13 种模型预测天气预报 | 原力计划

    作者 | 荣仔!最靓的仔! 责编 | 王晓曼 出品 | CSDN博客 天气数据集爬取   爬取思路: 确定目标(目标网站:大同历史天气预报 2020年5月份) 请求网页(第三方库 requests) ...

  3. 天气预报 :天气数据集爬取 + 可视化 + 13种模型预测

    前几天一直在研究 Python 爬虫技术,只为从互联网上获取数据集. 本文就是利用前几天学到的爬虫知识使用 Python 爬取天气数据集,并做的一期讨论日期与最低气温能是否是最高气温的影响因素,进而判 ...

  4. LSTM模型预测时间序列性质的进件量---详细步骤以及例子

    此博客适合刚刚入门LSTM的朋友学习,牛逼的朋友请略过,哈哈... github路径: https://github.com/zhouliping3712/LSTM_Times_Series 一.LS ...

  5. R语言机器学习Caret包(Caret包是分类和回归训练的简称)、数据划分、数据预处理、模型构建、模型调优、模型评估、多模型对比、模型预测推理

    R语言机器学习Caret包(Caret包是分类和回归训练的简称).数据划分.数据预处理.模型构建.模型调优.模型评估.多模型对比.模型预测推理 目录

  6. pandas基于时序数据计算模型预测推理需要的统计数据(累计时间、长度变化、变化率、方差、均值、最大、最小等):范围内的统计量、变化率、获得数据集最后的几条数据的统计量、变化率、获得范围内的统计量

    pandas基于时序数据计算模型预测推理需要的统计数据(累计时间.长度变化.变化率.方差.均值.最大.最小等):范围内的统计量.变化率.获得数据集最后的几条数据的统计量.变化率.获得范围内的统计量 目 ...

  7. R语言螺旋线型线性不可分数据xgboost分类:使用xgboost模型来解决螺旋数据的分类问题、可视化模型预测的结果、添加超平面区域渲染并与原始数据标签进行对比分析

    R语言螺旋线型线性不可分数据xgboost分类:使用xgboost模型来解决螺旋数据的分类问题.可视化模型预测的结果.添加超平面区域渲染并与原始数据标签进行对比分析 目录

  8. R语言构建文本分类模型:文本数据预处理、构建词袋模型(bag of words)、构建xgboost文本分类模型、xgboost模型预测推理并使用混淆矩阵评估模型、可视化模型预测的概率分布

    R语言构建文本分类模型:文本数据预处理.构建词袋模型(bag of words).构建xgboost文本分类模型.xgboost模型预测推理并使用混淆矩阵评估模型.可视化模型预测的概率分布 目录

  9. R语言基于自定义函数构建xgboost模型并使用LIME解释器进行模型预测结果解释:基于训练数据以及模型构建LIME解释器解释一个iris数据样本的预测结果、LIME解释器进行模型预测结果解释并可视化

    R语言基于自定义函数构建xgboost模型并使用LIME解释器进行模型预测结果解释:基于训练数据以及模型构建LIME解释器解释一个iris数据样本的预测结果.LIME解释器进行模型预测结果解释并可视化 ...

最新文章

  1. Java 里的 for (;;) 与 while (true),哪个更快?
  2. React Native 网络层分析
  3. iptables之xtables_addons浅度解析
  4. 广度优先搜索(BFS)
  5. sonarqube怎么分析php项目,SonarQube代码质量分析平台介绍
  6. Bootstrap 按钮菜单的尺寸
  7. OpenLTE 基站相关头文件:用户、定时器、基站接口、消息接口
  8. Intellij IDEA中如何给main方法赋args
  9. Windows Server 2016存储空间直连技术的探秘
  10. 【C语言】03-第一个C程序代码分析
  11. js、bootstrap、jq实现酷炫赛道风格的多功能辩论赛计时器
  12. 常见的NLP处理手段和相应的spaCy库使用
  13. session fixation attack修复方法
  14. python脱离环境运行_脱离Python环境运行的问题所使用的工具介绍
  15. 2022-2027年中国医学影像设备市场竞争态势及行业投资前景预测报告
  16. 靶向嵌合体PEG-ethoxycarbonyl-propanoic/Dodecaethylene glycol
  17. 原生支付宝小程序对接诸葛io监测
  18. 项目原型设计(那周余嘉熊掌将得队)
  19. MMGG吃螃蟹 | Solana上去中心化结构性产品-Exotic
  20. 2021中国企业常用「应用商店分发」产品矩阵报告

热门文章

  1. IBM DW上关于SOA的规范归纳
  2. mysql如何防止插入重复数据_如何防止MySQL重复插入数据,这篇文章会告诉你
  3. [网络安全自学篇] 十八.XSS跨站脚本攻击原理及代码攻防演示(一)
  4. Python之调用JS的方式
  5. Git之深入解析高级合并
  6. python 在互联网应用是如此强大
  7. struts2 简单登录校验示例
  8. 【Libevent】Libevent学习笔记(一):简介和安装
  9. 【Linux】一步一步学Linux——dpkg-divert命令(273)
  10. [Qt教程] 第31篇 网络(一)Qt网络编程简介