数据挖掘之数据规范化

  数据规范化处理是数据挖掘的一项基本操作。现实中,数据中不同特征的量纲可能不一致,数值间的差别可能很大,不进行处理可能会影响到数据分析的结果,因此,需要对数据按照一定比例进行缩放,使之落在一个特定的区域,便于进行综合分析。特别是基于距离的挖掘方法,在建模前一定要对数据进行规范化处理,如SVM,KNN,K-means,聚类等方法

数据规范化处理处理主要有以下三种

1,最小-最大规范化

  最小-最大规范化是对原始数据的线性变换,将数值值映射到[0,1]之间。

              

2,z-score

   z-score规范化也成标准差规范化,经过处理的数据均值为0,方差为1。是目前最为常用的规范化方法。

                   

式中`x为对应特征均值 ,σ为标准差 

3,小数定标规范化

   通过移动属性值的小数点,将属性值映射到[-1,1]之间,移动的小数点位数取决于属性值绝对值的最大值。

                          

python实现:

import pandas as pd
import numpy as np

# load raw_data

feture_matrix= ....

#max-min normalization

X=(feture_matrix - feture_matrix.min())/(feture_matrix.max()-feture_matrix.min())

# z-score

X= (feture_matrix - feture_matrix.mean()) / feture_matrix.std()

# normalization by decimal scaling

ferture_matrix/10**np.ceil(np.log10(data.abs().max()))
原文地址:https://www.cnblogs.com/rrttp/p/8053471.html