机器学习-特征工程之数据预处理

数据预处理

从数据中检测,纠正或删除损坏,不准确或不适用于模型的记录的过程。

可能面对的问题有:数据类型不同,比如有的是文字,有的是数字,有的含时间序列,有的连续,有的间断。也可能,数据的质量不行,有噪声,有异常,有缺失,数据出错,量纲不一,有重复,数据是偏态,数据量太大或太小。

目的:让数据适应模型,匹配模型的需求。

1. 数据无量纲化

在机器学习算法实践中,往往有着将不同规格的数据转换到同一规格,或不同分布的数据转换到某个特定分布的需求,这种需求统称为将数据“无量纲化”。

数据的无量纲化包括线性与非线性。其中线性的无量纲化包括:中心化(Zero-centered或Mean-subtraction)处理和缩放处理(Scale)。

  1. 中心化

    让所有记录减去一个固定值,即让数据的样本数据平移到某个位置。

  2. 缩放处理

    通过除以一个固定值,将数据固定在某个范围之中,通常采用取对数的方式。

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进行处理,非常感谢!

上一篇 2020年3月7日
下一篇 2020年3月7日

相关推荐