zoukankan      html  css  js  c++  java
  • 特征处理

    标准化

    #数据标准化是将数据按比例缩放,使其落入到一个小的区间内,标准化后的数据可正可负,但是一般绝对值不会太大,一般是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)
  • 相关阅读:
    MongoDB,无模式文档型数据库简介
    数据说话:怎样的程序员最抢手?
    猛醒:也许我们一生追求的都错了!
    中国风电生产监控平台界面
    如何跟着趋势去赚钱
    2015年最好的员工心态培养 -- 我们需要把简单的事情做到极致
    什么是程序员的核心竞争力?
    第一篇 技术选型
    .net core 读取配置文件
    .net core nlog记录日志
  • 原文地址:https://www.cnblogs.com/XiaoGao128/p/14609792.html
Copyright © 2011-2022 走看看