在数据分析与挖掘、算法建模的都会用到数据标准化。数据的标准化(normalization)是将数据按比例缩放,使之落入一个小的特定区间。在某些比较和评价的指标处理中经常会用到,去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。

但是经常会遇到一个问题:

方式一:先对整个数据集数据标准化后再划分训练集、测试集

方式二:先对训练级标准化再将规则用于测试集

为什么这么做?这两种方式有什么区别?

如果是做案例类学习研究,由于数据量是固定的,其实这两种方式不会有太大的区别;但是在实际的业务应用中,第二种方式还是会比第一种方式更可靠,因为会有实时的数据集进来应用模型,而这时的数据处理规则仍然采用建模前的规则会有一定的容错率。

可以思考一下:

第一种方式,先对整个数据集进行标准化之后,假设标准化规则的最大值为100,最小值为1,使数据的最大值为1,最小值为0.05,再将其划分为训练集和测试集,此时训练集或者测试集是同一个规则。

第二种方式:先对训练级标准化再将规则用于测试集,本身训练集和测试集的极值(最大值,最小值)会不同,例如训练集最大值为100,标准化之后为1,而测试集最大值为200,按训练集的标准化规则为1.5,而如果用测试集的标准化规则就会为1。但此时的模型会将1看做100,而不是200,会造成误差,并且有实时数据来应用模型,采用训练集的标准化规则,更适合于模型。

from sklearn.model_selection import train_test_split
data_tr1,data_te1,target_tr,target_te = train_test_split(media_rfm.iloc[:,3:9],media_rfm['class'],test_size=0.2,random_state=10)
from sklearn.preprocessing import StandardScaler
stdScale = StandardScaler().fit(data_tr1) ## 生成规则
data_tr = stdScale.transform(data_tr1) ## 将规则应用于训练集
data_te = stdScale.transform(data_te1) ## 将规则应用于测试集

文章未经博主同意,禁止转载!

数据标准化常见问题:对整个数据集数据标准化后再划分训练集、测试集和先对训练级标准化再将规则用于测试集有什么区别(Python实现)相关推荐

  1. 数据推荐 | 人体行为识别数据集

    人体行为识别任务旨在通过对人体姿态进行分析,识别出人体的具体动作,为人体行为预测.突发事件处理.智能健身.智能看护等领域提供技术支持. 人体行为识别数据标注方式 人体行为数据通用的标注方式包括人体关键 ...

  2. YOLOv5超详细的入门级教程(训练篇)(一)——训练自制数据集(识别鱼类)

    Pytorch-YOLOv5 数据集标注 数据集制作 修改配置文件 修改coco.yaml文件 修改model.yaml文件 训练train.py 出现的问题 测试detect.py 结论 Refer ...

  3. dataframe数据标准化处理_对数据集做标准化处理的几种方法——基于R语言

    数据集--iris(R语言自带鸢尾花包) 一.scale函数 scale函数默认的是对制定数据做均值为0,标准差为1的标准化.它的两个参数center和scale: 1)center和scale默认为 ...

  4. 用spss进行数据的标准化处理_什么是数据标准化、中心化、归一化?SPSS又如何实现?...

    在统计分析.数据挖掘过程中,经常性的接触到数据的标准化处理.数据中心化处理,还有数据归一化处理,那么它们各自是什么意思?如何通过SPSS软件实现呢? 大型数据分析项目中,数据来源不同,量纲及量纲单位不 ...

  5. R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行center中心化、scale标准化(每个数据列减去平均值、除以标准差)、设置参数为center和scale

    R语言使用caret包的preProcess函数进行数据预处理:对所有的数据列进行center中心化.scale标准化(每个数据列减去平均值.除以标准差).设置method参数为center和scal ...

  6. R语言vtreat包自动处理dataframe的缺失值、计算数据列的均值和方差并基于均值和方差信息对数据列进行标准化缩放、计算所有数据列的均值和方差对所有数据列进行标准化缩放

    R语言vtreat包自动处理dataframe的缺失值.计算数据列的均值和方差并基于均值和方差信息对数据列进行标准化缩放.计算所有数据列的均值和方差并基于均值和方差信息对所有数据列进行标准化缩放 目录

  7. python归一化sklearn_用sklearn进行对数据标准化、归一化以及将数据还原详解

    如何用sklearn进行对数据标准化.归一化以及将数据还原 在对模型训练时,为了让模型尽快收敛,一件常做的事情就是对数据进行预处理. 这里通过使用sklearn.preprocess模块进行处理. 一 ...

  8. python实现数据恢复_使用sklearn进行对数据标准化、归一化以及将数据还原的方法...

    在对模型训练时,为了让模型尽快收敛,一件常做的事情就是对数据进行预处理. 这里通过使用sklearn.preprocess模块进行处理. 一.标准化和归一化的区别 归一化其实就是标准化的一种方式,只不 ...

  9. 利用tensorflow训练自己的图片数据集——数据准备

    昨天实现了一个简单的CNN网络.用了MNIST数据集,虽然看来对这个数据集用的很多,但是真正这个数据集是怎么在训练的时候被调用的,以及怎么把它换成自己的数据集都是一脸懵. 直接附上链接:MNIST数据 ...

最新文章

  1. 2020身高体重标准表儿童_2020年儿童标准身高体重表发布,对比看看,你家孩子达标了吗?...
  2. 报名 | 大数据打造智慧的政府门户讲座
  3. Python Day Eleven
  4. pytorch训练过程中loss出现NaN的原因及可采取的方法
  5. 逐行分析Hadoop的HelloWorld
  6. 修改MySQL字符集
  7. 数据结构与算法--最小的k个数
  8. python抽荣耀水晶_深度分析抽取荣耀水晶的窍门,不良抽法很好用,平均100RMB一颗...
  9. PHP_TP5框架开发后端接口(代码编写思路)
  10. three.js 实现图片粒子爆炸特效
  11. android view强制重绘_安卓自定义 view 不能正常重绘
  12. 使用协同过滤推荐算法进行电影推荐
  13. 如何快速删除某几页的页眉页脚
  14. 【jqxGrid】jqwidgets.createInstance()方法报错的一种解决方法
  15. 5g理论速度_5G的速度到底能有多快?
  16. 【100%通过率】华为OD机试真题 Python 实现【士兵过河】【2022.11 Q4 新题】
  17. JAVA 开发中常用的工具有哪些?
  18. 忌:以不专业去瞎指挥专业,以一知半解去瞎指挥一线实践
  19. Python基于Flask框架实现视频直播,电脑桌面录屏web端展示,远程控制电脑
  20. 专访北京航空航天大学黎健成:我和编程比赛

热门文章

  1. 英语ab级计算机水平,ab级英语考试有什么用 属于什么水平
  2. Java 多线程之-----守护进程
  3. 新闻微软谷歌曾私下表达反对博通收购高通 害怕苹果更强
  4. 关于阿里云服务器屏蔽25端口
  5. springBoot餐厅店内点餐系统点餐外卖配送餐馆饭店收银系统实现记录一下「源码文档实过程]
  6. mesh 协调器 路由器_关于zigbee协调器(单播方式)传输数据给网络中的多个路由器丢失数据包的问题?...
  7. Docker Desktop简介
  8. AddressBook 地址簿 (电话簿) 访问与修改-IOS开发
  9. FFmpeg命令(一)、使用filter_complex命令拼接视频
  10. linux 中 ~、~/.、都没有、./、../