很多时候一个单位的各个属性数值的单位都是不同的,在聚类以及多维分析,或者训练神经网络的时候很可能会带来不便
以下是几种数据标准化方法:
- 线性函数转化
最常用的数据标准化方法
可以将数据范围内的点映射到【0,1】范围中
缺点是无法考虑实际数据中超出训练集数据范围的部分
公式为 y = (1-min) / (max-min)
在SQL中可以直接使用Update语句实现UPDATE T SET Y = (Y-min)/(max-min)
- 对数函数转换
y = log10(x)
当x = 1时y = 0
迷之使用情况 在数据越接近无穷大,y的增长速度趋于0 - 反余切函数转换
y = atan(x) * 2 / PI
其中 x2的作用是吧y值得区间从[-0.5,0.5]扩充到[-1,1]
也可以使用别的参数
反余切函数在0原点获得最大的斜率,并随着数据的增大斜率急剧缩小
可用于神经元的激活函数