zoukankan      html  css  js  c++  java
  • Python数据标准化

    Z-score标准化

    1.产生随机数

    import numpy as np
    ## 产生随机数
    data_1 = np.random.randn(3, 4) # 从标准正态分布中返回一个或多个样本值.
    data_2 = np.random.rand(3, 4)  # 产生(0,1)的数
    print('randn产生的随机数:
    ', data_1)
    print('rand产生的随机数:
    ', data_2)
    Shape = data_1.shape
    print('data_1的维数:
    ', Shape)

    2.使用sklearn包

    from sklearn.preprocessing import StandardScaler
    
    ## 标准化(使特征数据方差为1,均值为0)
    
    # 使用sklearn的包
    scaler = StandardScaler()
    scaler.fit(data_2)                               # 使用transfrom必须要用fit语句
    trans_data_2 = scaler.transform(data_2)          # transfrom通过找中心和缩放等实现标准化
    fit_trans_data_2 = scaler.fit_transform(data_2)  # fit_transfrom为先拟合数据,然后转化它将其转化为标准形式
    print('使用fit,transform标准化的数据:
    ', trans_data_2)
    print('使用fit_transform标准化的数据:
    ', fit_trans_data_2)

    3.使用numpy进行处理

    import numpy as np
    # 使用numpy的语句
    Sum_total = data_2.sum()        # 整个矩阵求和
    Sum_row = data_2.sum(axis=1)    # 行求和
    Sum_col = data_2.sum(axis=0)    # 列求和
    mean = np.mean(data_2, axis=0)  # 求平均值
    std = np.std(data_2, axis=0)    # 标准差
    var = std**2
    print('data_2求和为:
    ', Sum_col/3)
    print('平均值为:
    ', mean)
    print('方差为:
    ', var)
    numpy_trans_data_2 = (data_2 - mean)/std
    print('使用numpy进行标准化:
    ', numpy_trans_data_2)

     注意:z-score标准化是要除以std(标准差),恰好对应于StandardScaler()

      min-max标准化仅仅将StandardScaler()换为MinMaxScaler()即可

  • 相关阅读:
    javascript Date类的扩展
    软件工程师好了歌 (转)
    您可能不知道的.Net2.0小技巧
    您未必知道的Js技巧
    复活吧,架构师!
    技巧系列文章
    不要使用paddingtop控制内容开始的位置
    JQuery Offset实验与应用(转载)
    2008最佳Windows应用程序
    精选15个国外CSS框架
  • 原文地址:https://www.cnblogs.com/Wind-Flies/p/11630929.html
Copyright © 2011-2022 走看看