【20210914】【数据分析】使用Python对数据进行标准化(归一化)

        数据标准化(归一化)处理是数据挖掘的一项基础工作,不同评价指标往往具有不同的量纲和量纲单位。为了消除指标之间的量纲影响,需要进行数据标准化处理,以增加数据之间的可比性。

1. min-max标准化(Min-Max Normalization)

        又叫离差标准化,是对原始数据的线性变换,使结果映射到 [0, 1] 之间,转换函数为:

        这种方法的缺陷就是:当有新数据加入时,可能会导致 max 和 min 的变化,需要重新进行标准化。

import numpy as np
from sklearn import preprocessing

X = np.array([1, -1, 2],
             [2, 0, 0],
             [0, 1, -1])

min_max_scaler = preprocessing.MinMaxScaler()

X_minMax = min_max_scaler.fit_transform(X)

''' 找最大值和最小值,使用 np.max() 和 np.min()! '''

 2. Z-score标准化

        也叫均值归一化(mean normalization)。经过标准化的数据满足标准正态分布,即均值为0,标准差为1,转换函数为:

import numpy as np

X = np.array([1, -1, 2],
             [2, 0, 0],
             [0, 1, -1])

def Z_scoreNormalization(x):
    mu = x.mean()
    sigma = x.std()

    x = (x - mu) / sigma
    return x;


print(Z_scoreNormalization(X))

''' 求均值:np.mean()
    求标准差:np.std() '''

         (参考:python归一化方法)

 

 

 

你可能感兴趣的:(数据分析,python,算法)