数据预处理
从数据中检测,纠正或删除损坏,不准确或不适用于模型的记录的过程。
可能面对的问题有:数据类型不同,比如有的是文字,有的是数字,有的含时间序列,有的连续,有的间断。也可能,数据的质量不行,有噪声,有异常,有缺失,数据出错,量纲不一,有重复,数据是偏态,数据量太大或太小。
目的:让数据适应模型,匹配模型的需求。
1. 数据无量纲化
在机器学习算法实践中,往往有着将不同规格的数据转换到同一规格,或不同分布的数据转换到某个特定分布的需求,这种需求统称为将数据“无量纲化”。
数据的无量纲化包括线性与非线性。其中线性的无量纲化包括:中心化(Zero-centered或Mean-subtraction)处理和缩放处理(Scale)。
-
中心化
让所有记录减去一个固定值,即让数据的样本数据平移到某个位置。
-
缩放处理
通过除以一个固定值,将数据固定在某个范围之中,通常采用取对数的方式。
1.1 数据归一化
当数据(x)按照最小值中心化后,再按极差(最大值-最小值)缩放,数据移动了最小值个单位,并且会被收敛到[0,1]之间,而这个过程,就叫做数据归一化(Normalization,又称Min-MaxScaling)。公式如下:
x = x m i n ( x ) m a x ( x ) m i n ( x ) x={x^*-min(x)over max(x)-min(x)} x=max(x)/span>min(x)x/span>/span>min(x)/span>
在中通过实现此功能。其中,可以控制数据压缩的范围,默认为[0,1]。
结果输出:
将所有的数据压缩至[0,1]之间。
采用将数据范围压缩至[0,5]之间。
采用实现归一化处理。
通过以上的实例,将数据压缩至统一的范围内。
1.2 数据标准化
当数据(x)按均值(μ)中心化后,再按标准差(σ)缩放,数据就会服从为均值为0,方差为1的正态分布(即标准正态分布),而这个过程,就叫做数据标准化(Standardization,又称Z-scorenormalization),公式如下:
x = x u σ x^*={x-uover sigma} x/span>=σx/span>u/span>
中提供了接口进行使用。
导出结果:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!