• 特征处理


    标准化

    #数据标准化是将数据按比例缩放,使其落入到一个小的区间内,标准化后的数据可正可负,但是一般绝对值不会太大,一般是z-score标准化方法:减去期望后除以标准差。
    from sklearn.preprocessing import StandardScaler
    from sklearn.preprocessing import MinMaxScaler
    from matplotlib import gridspec
    import numpy as np
    import matplotlib.pyplot as plt
    cps = np.random.random_integers(0, 100, (100, 2))  #随机生成数值在0-100间100*2的矩阵
     
    ss = StandardScaler()                               #标准化类
    std_cps = ss.fit_transform(cps)                     #不仅计算训练数据的均值和方差,还会基于计算出来的均值和方差来转换训练数据,从而把数据转换成标准的正太分布
    
    gs = gridspec.GridSpec(5,5)                         #生成5行5列的gs
    fig = plt.figure()                                  #创建图像
    ax1 = fig.add_subplot(gs[0:2, 1:4])                 #创建子图像
    ax2 = fig.add_subplot(gs[3:5, 1:4])                 #创建子图像
    
    ax1.scatter(cps[:, 0], cps[:, 1])                   #填充数据
    ax2.scatter(std_cps[:, 0], std_cps[:, 1])           #填充数据
    
    plt.show()

    归一化

    #把数值放缩到0到1的小区间中(归到数字信号处理范畴之内),一般方法是最小最大规范的方法:min-max normalization
    from sklearn.preprocessing import MinMaxScaler
    import numpy as np
    
    data = np.random.uniform(0, 100, 10)[:, np.newaxis]     #生成0-100以内的10个数组成10行一列的矩阵
    mm = MinMaxScaler()                                     #归一化对象
    mm_data = mm.fit_transform(data)                        #归一化data
    origin_data = mm.inverse_transform(mm_data)             #转换回来
    print('data is ',data)                                  #打印
    print('after Min Max ',mm_data)                         #打印
    print('origin data is ',origin_data)                    #打印

    正则化

    X = [[1, -1, 2],
         [2, 0, 0],
         [0, 1, -1]]
    
    # 使用L2正则化
    from sklearn.preprocessing import normalize
    l2 = normalize(X, norm='l2')
    print('l2:', l2)
    
    # 使用L1正则化
    from sklearn.preprocessing import Normalizer
    normalizerl1 = Normalizer(norm='l1')
    l1 = normalizerl1.fit_transform(X)
    print('l1:', l1)
  • 相关阅读:
    Java 条件语句
    Java循环
    Java 变量
    Java 数据类型
    nginx+php发布网站
    安装MySQL5.7
    docker-compose参数
    部署
    dockerfile编写
    在VMware中安装CentOS7
  • 原文地址:https://www.cnblogs.com/XiaoGao128/p/14609792.html
Copyright © 2020-2023  润新知