数据规范化的几种方法

在数据分析之前,我们都需要让数据满足一定的规律,达到规范性的要求,便于进行挖掘。

如果不进行变换的话,要不就是维数过多增加了计算成本,要不就是数据过于集中,很难找到数据之间的特征。

在数据变换中,重点是如何将数值进行规范化,有三种常用的规范方法,分别是Min-Max规范化、Z-Score规范化、小数定标规范化。

1.Min-max规范化:

将原始数据投射到指定的空间[min,max]。可用公式表示为:

新数值 = (原数值-极小值)/ (极大值 - 极小值) 。

SciKit-Learn中的MinMaxScaler可以完成这个功能。

2.Z-Score规范化:

将原始数据转换为正态分布的形式,使结果易于比较。可用公式表示为:

新数值 = (原数值 - 均值)/ 标准差

在SciKit-Learn中的preprocessing.scale()可以直接将给定数据进行Z-Score规范化。

3.小数定标规范化:

通过移动小数点的位置来进行规范化。小数点移动的位数取决于该属性数据取值的最大绝对值。

例如:属性A的取值范围是-800到70,那么就可以将数据的小数点整体向左移三位即[-0.8,0.07]

利用numpy对数据进行小数定标规范化的方法如下:

你可能感兴趣的:(数据规范化的几种方法)