[置顶] 常用的数据标准化方法
2016-06-13 14:46
218 查看
数据的标准化(normalization)是将数据按照一定规则缩放,使之落入一个小的特定区间。这样去除数据的单位限制,将其转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。其中最典型的就是0-1标准化和Z标准化,当然,也有一些其他的标准化方法,用在不同场景,这里主要介绍几种常用的方法。
1、Min-Max标准化(Min-Max normalization)
也称离差标准化,是对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:
yi=xi−min{xj}max{xj}−min{xj},(1≤i≤n,1≤j≤n)
其中max{xj}为样本数据的最大值,min{xj}为样本数据的最小值。这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
2、Z-score 标准化(zero-mean normalization)
也叫标准差标准化,经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:
yi=xi−x⎯s,(1≤i≤n)
其中x⎯⎯为所有样本数据的均值,s 为所有样本数据的标准差。
经过 Z-score 标准化后,各变量将有约一半观察值的数值小于0,另一半观察值的数值大于0,变量的平均数为0,标准差为1。经标准化的数据都是没有单位的纯数量。它是当前用得最多的数据标准化方法。如果特征非常稀疏,并且有大量的0(现实应用中很多特征都具有这个特点),Z-score 标准化的过程几乎就是一个除0的过程,结果不可预料。
3、归一标准化
yi=xi∑n1x2i,(1≤i≤n)
则新序列 y1,y2,…,yn∈[0,1] 且无量纲并且显然有∑niyi=1.
归一化方法在确定权重时经常用到。针对实际情况,也可能有其他一些量化方法,或者要综合使用多种方法,总之最后的结果都是无量纲化。
1、Min-Max标准化(Min-Max normalization)
也称离差标准化,是对原始数据的线性变换,使结果落到[0,1]区间,转换函数如下:
yi=xi−min{xj}max{xj}−min{xj},(1≤i≤n,1≤j≤n)
其中max{xj}为样本数据的最大值,min{xj}为样本数据的最小值。这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
2、Z-score 标准化(zero-mean normalization)
也叫标准差标准化,经过处理的数据符合标准正态分布,即均值为0,标准差为1,其转化函数为:
yi=xi−x⎯s,(1≤i≤n)
其中x⎯⎯为所有样本数据的均值,s 为所有样本数据的标准差。
经过 Z-score 标准化后,各变量将有约一半观察值的数值小于0,另一半观察值的数值大于0,变量的平均数为0,标准差为1。经标准化的数据都是没有单位的纯数量。它是当前用得最多的数据标准化方法。如果特征非常稀疏,并且有大量的0(现实应用中很多特征都具有这个特点),Z-score 标准化的过程几乎就是一个除0的过程,结果不可预料。
3、归一标准化
yi=xi∑n1x2i,(1≤i≤n)
则新序列 y1,y2,…,yn∈[0,1] 且无量纲并且显然有∑niyi=1.
归一化方法在确定权重时经常用到。针对实际情况,也可能有其他一些量化方法,或者要综合使用多种方法,总之最后的结果都是无量纲化。
相关文章推荐
- Android APP被关闭后无法收到推送消息(尝试)
- SVN版本控制与分支设置
- BZOJ3158 千钧一发
- WindowManager.LayoutParams.type属性
- bootstrap-datepicker 与bootstrapValidator同时使用时,选择日期后,无法正常触发校验
- 【3】Java并发编程:多线程基本概念
- BI商务智能对于企业的意义
- 找工作 准备
- php session 保存数据库
- 两张图解决java与C#访问权限问题
- Google vr -Android SDK API-com.google.vr.sdk.base--overview
- DirectX9中Pixel Coordinates System的一个怪异特性
- Android-->自定义模版EditText(多用于手机号码,银行卡号等输入)
- SSH 内网端口转发实战
- 解决文件上传插件Uploadify在火狐浏览器下,Session丢失的问题
- C#之 Lambda表达式
- JavaFX和可视化信息抽取
- JVM性能调优监控工具jps、jstack、jstat、jmap、jinfo使用详解
- 用java写一个多线程程序,其中两个对一个变量加1,另两个对一个变量减1
- Android studio中的错误Your project path contains non-ASCII characters