很多时候一个单位的各个属性数值的单位都是不同的,在聚类以及多维分析,或者训练神经网络的时候很可能会带来不便

以下是几种数据标准化方法:

  1. 线性函数转化
    最常用的数据标准化方法
    可以将数据范围内的点映射到【0,1】范围中
    缺点是无法考虑实际数据中超出训练集数据范围的部分
    公式为   y = (1-min) / (max-min)
    在SQL中可以直接使用Update语句实现

    UPDATE T SET Y = (Y-min)/(max-min)
  2. 对数函数转换
    y = log10(x)
    当x = 1时y = 0
    迷之使用情况 在数据越接近无穷大,y的增长速度趋于0
  3. 反余切函数转换
    y = atan(x) * 2  / PI
    其中 x2的作用是吧y值得区间从[-0.5,0.5]扩充到[-1,1]
    也可以使用别的参数
    反余切函数在0原点获得最大的斜率,并随着数据的增大斜率急剧缩小
    可用于神经元的激活函数