数据规范化处理方法-Min-max 规范化和 Z-Score 规范化
数据规范化处理在拿到数据进行建模之前,我们需要将数据进行初步处理,例如通过据平滑、数据聚集、数据概化和规范化等方式将数据转换成适用于数据挖掘的形式。本文只介绍min-max标准化、Z-score标准化方法。1. Min-max 规范化定义:Min-max 也叫离差标准化,是对原始数据的线性变换,使结果落到[0,1]区间。用公式表示就是:1、其中max为样本数据的最大值,min为样本数据的最小值。2
数据规范化处理
在拿到数据进行建模之前,我们需要将数据进行初步处理,例如通过据平滑、数据聚集、数据概化和规范化等方式将数据转换成适用于数据挖掘的形式。本文只介绍min-max标准化、Z-score标准化方法。
1. Min-max 规范化
定义:
Min-max 也叫离差标准化,是对原始数据的线性变换,使结果落到[0,1]区间。
用公式表示就是:
1、其中max为样本数据的最大值,min为样本数据的最小值。
2、这种方法有一个缺陷就是当有新数据加入时,可能导致max和min的变化,需要重新定义。
代码:
Python中在 SciKit-Learn 里有个函数 MinMaxScaler 是专门做这个的
#引入库
from sklearn import preprocessing
import numpy as np
# 初始化数据,每一行表示一个样本,每一列表示一个特征
x = np.array([[ 0., -3., 1.],
[ 3., 1., 2.],
[ 0., 1., -1.]])
# 将数据进行[0,1]规范化
min_max_scaler = preprocessing.MinMaxScaler()
minmax_x = min_max_scaler.fit_transform(x)
print minmax_x
2、Z-Score 规范化
定义:
最常见的标准化方法就是Z标准化;也是SPSS中最为常用的标准化方法,也叫标准差标准化。
Z-Score 的优点是算法简单,不受数据量级影响,结果易于比较。不足在于,它需要数据整体的平均值和方差,而且结果没有实际意义,只是用于比较。
步骤如下:
1、求出各变量(指标)的算术平均值(数学期望)xi和标准差si ;
2、进行标准化处理:
zij=(xij-xi)/si
其中:zij为标准化后的变量值;xij为实际变量值。
3.将逆指标前的正负号对调。准化后的变量值围绕0上下波动,大于0说明高于平均水平,小于0说明低于平均水平。
如何改变文本的样式
代码:
在 SciKit-Learn 库中使用 preprocessing.scale() 函数,可以直接将给定数据进行 Z-Score 规范化。
from sklearn import preprocessing
import numpy as np
# 初始化数据
x = np.array([[ 0., -3., 1.],
[ 3., 1., 2.],
[ 0., 1., -1.]])
# 将数据进行Z-Score规范化
scaled_x = preprocessing.scale(x)
print scaled_x
更多推荐
所有评论(0)