1.数据标准化含义:将数据的数值特征转换成一些标准的格式,使其与其他属性处于相同的范围内,此过程叫标准化(Normalization)

2.有两种常用的标准化技术

  1. 最大最小标准化(Min-Max Normalization):这个过程使得特征的范围在[0,1]内。首先计算每个数值特征的最小值个最大值,然后对特征的每个值均进行以下变换 

    X_{new}=\frac{X_{i}-min(X)}{max(X)-min(X)}

    附python程序:

    from sklearn import preprocessing
    import  pandas
    data={'price':[492,286,487,519,541,429]}#用字典来存放数据
    price_frame=pandas.DataFrame(data)#把字典类型转化为dataframe对象
    min_max_normalizer=preprocessing.MinMaxScaler(feature_range=(0,1))
    #feature_range设置最大最小变换值,默认(0,1)
    scaled_data=min_max_normalizer.fit_transform(price_frame)
    #将数据缩放(映射)到设置固定区间
    price_frame_normalized=pandas.DataFrame(scaled_data)
    #将变换后的数据转换为dataframe对象
    print(price_frame_normalized)
  2. Z-分数标准化(Z-Score Normalization):当数据包含离群值时,最大最小标准化并不是首选。在存在离群值的情况下,随着数据范围的增加,数值将不断接近零。Z-Score常用于标准化技术。Z-Score遵循统计学原理,使数据平均值为0,标准差为1。

                                                         Z=\frac{X-mean(X)}{StdDev(X)}

    附python程序:

    from sklearn import preprocessing
    import pandas
    data={'price':[492,286,487,519,541,429]}#用字典来存放数据
    price_frame=pandas.DataFrame(data)#把字典类型转化为dataframe对象
    normalizer=preprocessing.scale(price_frame)
    #沿着某个轴标准化数据集,以均值为中心,以分量为单位方差
    price_frame_normalized=pandas.DataFrame(normalizer,columns=['price'])
    #将标准化的数据转换为dataframe对象,将列名改为price
    print(price_frame_normalized)

 

 

来源:排骨教主@

物联沃分享整理
物联沃-IOTWORD物联网 » 用python将数据标准化

发表评论