zoukankan      html  css  js  c++  java
  • 数据的特征预处理?(归一化)&(标准化)&(缺失值)

    特征处理是什么:

      通过特定的统计方法(数学方法)数据转化成为算法要求的数据

    sklearn特征处理API:

      sklearn.preprocessing

    代码示例:  文末!

    归一化:

       公式:       

       注意:作用于每一列,max为一列的最大值,min为一列的最小值,那么X''为最终结果,mx、mi分别为指定区间,默认mx为1,mi为0

     sklearn归一化API:

      sklearn.preprocessing.MinMaxScaler

     归一化总结:

      注意在特定场景下最大值与最小值是变化的,另外,最大值与最小值非常容易受到异常点的影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景

    标准化:

       公式:

     

     对于归一化来说,如果出现异常点,影响了最大值和最小值,那么结果显然会发生改变

     对于标准化来说,如果出现异常点,由于具有一定数据量,少量的异常点对于平均值的影响并不大,从而方差改变较小

    sklearn标准化API:

      sklearn.preprocessing.StandardScaler

    标准化总结:

      在已有样本足够多情况下比较稳定,适合现在嘈杂的大数据

    缺失值:

     

     sklearn缺失值API:

      sklearn.preprocessing.imputer

    代码示例:

     1 from sklearn.preprocessing import MinMaxScaler, StandardScaler, Imputer
     2 import numpy as np
     3 
     4 
     5 def mm():
     6     """归一化处理
     7     X' = (x-min)/(max-min)
     8     X'' = X'*(mx-mi)+mi
     9     """
    10     m = MinMaxScaler(feature_range=(5,10))  # 默认范围为0-1
    11     array = [[90,2,10,40],[60,4,15,45],[75,3,13,46]]
    12     data = m.fit_transform(array)
    13     print(data)
    14 
    15 def standard():
    16     """标准化缩放
    17     相比于归一化,标准化对于存在异常值而对结果的影响不大,适合大数据
    18     而归一化,由于受异常点的影响,所以......
    19     """
    20     s = StandardScaler()
    21     array = [[1,-1,3], [2,4,2], [4,6,-1]]
    22     data = s.fit_transform(array)
    23     print(data)
    24 
    25 def im():
    26     """缺失值处理"""
    27     im = Imputer(missing_values='NaN', strategy='mean', axis=0)  # nan 或 NaN都可以,固定写法,填补策略(平均值),按列填充
    28     data = im.fit_transform([[1,2],[np.nan,3],[7,6]])
    29     print(data)
    30 
    31 
    32 if __name__ == '__main__':
    33     mm()
    34     standard()
    35     im()
  • 相关阅读:
    JS 面向对象
    inline-block元素间隙处理
    MUI
    MUI
    chrome://inspect调试html页面空白,DOM无法加载的解决方案
    MUI
    MUI
    MUI
    MUI
    MUI
  • 原文地址:https://www.cnblogs.com/springionic/p/11753960.html
Copyright © 2011-2022 走看看