zoukankan      html  css  js  c++  java
  • 数据预处理技术

    1.均值移除(Mean removal)
    通常我们把每个特征值移除,以保证特征值均为0(即标准化处理),这样可以消除特征值之间的偏差(bias).将下面几行代码加入之前打开的Python文件中
    data_standized = preprocessing.scale(data) print " Mean =",data_standardized.mean(axis=0) print "Std deviation =", data_standardized.std(axis=0)
    2.范围缩放
    数据点中的每个数据范围可能变化很大,因此,有时将数据的特征范围缩放到合理的大小是非常重要的。在Python 文件中加入下面几行代码

    data_scaler = preprocessing.MinmaxScaler(feature_range=(0,1))
    data_scaled = data_scaler.fit_transform(data)
    print "
    Min max scaled data =",data_scaled
    

    3.归-化(Normalization)
    数据归化用于需要对特征向量的值进行调整时,以保证每个特征向量的值都缩放到相同的数值范围。机器学习中最常用的归一化形式就是将特征向量调整为L1范数,使特征向量的数值之和为1.

    data_normalized = preprocessing.normalized(data,norm='1,1')
    print "
    L1 normalized data =",data_normalized
    
    
    
    

    4.二值化(Binarization)
    二值化用于将数值特征向量转换为布尔类型向量。

    data_binarization = preprocessing.Binarization(threshold=1.4).transform(data)
    print "
     Binarized data =",data_binarized
    

    5.独热编码
    通常,需要处理的数据都是稀疏地,算乱地分布在空间中,然而,我们并不需要存储这些大数值,这时就需要使用独热编码(One-Hot Encoding). 可以把独热编码看作是一种收紧(tighten)特征向量的工具。他把每个特征向量的每个特征与特征的非重复总数相对应,通过one-of-k的形式对每个值进行编码。特征向量的每个特征值都按照这种方式进行编码,这样可以更加有效的表示空间。例如我们需要处理4维向量空间,当给一个特征向量的第n个特征进行编码时,编码器会遍历每个特征向量的第n个特征,然后进行非重复计数。如果非重复计数的值是K,那么九八这个特征转换为只有一个值是1其他值都是0的K维向量。增加下面几行代码到前面的Python文件中:

    encoder = preprocessing.OneHotEncoder()
    encoder.fit([[0,2,1,12],[1,3,5,3],[2,3,2,12],[1,2,4,3]])
    encoded_vector = encoder.transform([[2,3,5,3]]).toarray()
    print "
    Encoded vector =",encoded_vector
    
    
    
    
    
    
    
    
    
    
    
  • 相关阅读:
    [洛谷P3360]偷天换日
    [BZOJ3195]奇怪的道路
    [BAOJ3631]松鼠的新家
    [BZOJ4899]记忆的轮廓
    [BZOJ3940]Censoring
    P3303 [SDOI2013]淘金
    2019.8.5 NOIP模拟测试13 反思总结【已更新完毕】
    2019.8.3 NOIP模拟测试12 反思总结【P3938 斐波那契,P3939 数颜色,P3940 分组】
    2019.8.1 NOIP模拟测试11 反思总结
    洛谷P2178 [NOI2015]品酒大会
  • 原文地址:https://www.cnblogs.com/CCCrunner/p/11781666.html
Copyright © 2011-2022 走看看