数据特征预处理

一、什么是特征预处理

我们在进行特征抽取后,需要根据算法的要求,使用特定的统计方法(数学方法)将数据转换成其所需格式。对于不同的数据类型有不同的转换方法。

1、数值类型数据

对于数值类型数据可采用标准的缩放,其方法有:

  • 归一化
  • 标准化
  • 缺失值处理

2、类别型数据

采用one-hot编码,像字典、文本数据进行特征抽取,转成了one-hot编码。

3、时间类型

采用时间切分的方式。

注意:这里主要说说数值型数据的预处理方式。

二、数值类型处理

(一)归一化

1、为什么使用归一化

  归一化是将数据样本缩放到[0,1]的区间范围,那么为什么要这样做呢?因为在特征(维度)非常多的时候,避免某一维或者某几维对数据的影响过大,同时也是为了把不同来源的数据同一到一个度量标准下,这样比较起来才有意义。

样本

身高(cm)

体重(kg)

样本一

150

50

样本二

200

70

假设现在有这样的样本数据,k-近邻算法中一个距离公式是这样的:

(200-150)^2 + (70-50)^2

  如果两个人的体型差异较大,以至于第一个身高差的平方的值打到忽略体重差平方的值,这样是不是体重这个特征就会被忽略了。所以为了解决这个问题,我们需要将数据进行归一化。

2、归一化的原理

归一化的特点:通过对原始数据进行变换把数据映射到(默认为[0,1])之间

公式:

上一篇:python进阶教程:实现粒子群算法(PSO)详解


下一篇:不定时更新,最近用到的一些网页或者代码