数据标准化,是数据清洗的重要环节之一。主要目的是消除“量纲”和“不同规模”的影响,使其所放到相同的数据区间和范围,以减少规模、特征、分布差异等对数据模型的影响。

应用场景:如某人欲购买一处房产,主要考虑:价格,面积,学区,交通等4个因素。价格:10000元/平米;

面积:100平方;

学区:有学区,无学区,以及学区好坏;

交通:距离公交或者地铁站距离等。

在考虑买房的过程中,每个指标的表述方式不同,不具有直接的可比性,因此,我们需要对其进行处理,这个处理过程称为“数据标准化”。

数据标准化,主要有以下3种方式:

一、实现中心化和正态分布的Z-Score

优点:标准化之后的数据符合均值为0,方差为1 的标准正态分布。

缺点:不适合对稀疏数据做处理。

以下是python代码演示:

# 引入模块
import numpy as np
from sklearn import preprocessing
import matplot.pyplot as plt

二、极值法Max-Min

优点:所有数据落在[0,1]区间,且保持数据原有的分布结构;

缺点:在使用极值法时,一般先剔除异常值,即该方法不能反映异常值的特征;

缺点:不能用于稀疏数据。

三、最大绝对值标准化(MaxAbs)

优点:所有数据落在[-1,1]区间,且保持数据原有的分布结构;

优点:可以用于稀疏数据。

四、RobustScaler针对离群点

在需要考虑异常值的分析中,可以采用该方法对数据进行标准化处理。