数据标准化,是数据清洗的重要环节之一。主要目的是消除“量纲”和“不同规模”的影响,使其所放到相同的数据区间和范围,以减少规模、特征、分布差异等对数据模型的影响。
应用场景:如某人欲购买一处房产,主要考虑:价格,面积,学区,交通等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针对离群点
在需要考虑异常值的分析中,可以采用该方法对数据进行标准化处理。