sklearn学习 — 归一化

线性归一化

数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位,这样的情况会影响到数据分析的结果,为了消除指标之间的量纲影响,需要进行数据标准化处理,以解决数据指标之间的可比性。原始数据经过数据标准化处理后,各指标处于同一数量级,适合进行综合对比评价。
  • sklearn.preprocessing.MinMaxScaler
    • MinMaxScaler(feature_range(0,1)...)
    • 每个特征缩放到给定的范围
    • MinMaxScaler.fit_transform(X)
      • X:numpy array格式的数据[n_samples,n_features]
      • 返回值:转化后相同的array
from sklearn.preprocessing import MinMaxScaler

def mm():
    '''
    归一化处理
    '''
    mm = MinMaxScaler()
    '''mm = MinMaxScaler(feature_range=(2,3)) 缩定范围 '''
    data = mm.fit_transform([[90,2,10,40],[60,4,15,45],[75,3,13,46]])
    print(data)
    return None

if __name__ == '__main__':    
    mm()   

标准差归一化,也叫Z-score标准化,这种方法给予原始数据的均值(mean,μ)和标准差(standard deviation,σ)进行数据的标准化。经过处理后的数据符合标准正态分布,即均值为0,标准差为1 ,如果出现异常点,由于具有一定数据量,少量异常点对平均值的影响并不大,从而方差改变较小。
  • StandardScaler(...)
    • StandardScaler.fit_transform(X)
      • X:numpy array格式的数据[n_samples,n_features]
      • 返回值:转化后相同的array
    • StandardScaler.mean_
      • 原始数据中每列特征的平均值
    • StandardScaler.std_
      • 原始数据中每列的方差

推荐阅读更多精彩内容