数据预处理

数据存在的问题

  1. 数据不一致

    各系统之间数据的量纲不一致

  2. 噪声数据

    数据中存在明显错误或异常的数据(偏离期望值)

  3. 缺失值

    数据记录出现的局部的缺失

数据预处理的任务

  1. 数据清洗

    去掉数据中的噪声,纠正不一致

  2. 数据集成

    将多个数据源合并成一致的数据存储,构成一个完美的数据集,如数据仓库

  3. 数据归约

    通过聚集、删除冗余属性或聚类等方法来压缩数据

  4. 数据变换

    将一种格式的数据转换为另一种形式的数据

基本方法

  1. 简单函数变换

如果要保持数据保持正态分布,如果提供的数据是偏态的,我们需要将数据从偏态分布变为正态分布。

此时我们可以对一侧取指数、对数函数

  1. 归一化

将数据映射到区间 [-1,1] 或 [0,1] 之间。

  • 最小-最大规范化

$$x^{\ast} = \frac{x-min}{max-min}$$

  • 零-均值规范化:处理后平均数为0,标准差为1

$$x^{\ast} = \frac{x-\bar x}{\sigma}$$

  • 小数定标规范化:移动小数点的数位,k取决于最大值

$$x^{\ast}= \frac{x}{10^{k}}$$

  1. 缺失值处理

缺失值的处理可分为三类:删除记录、数据补差和不处理。

  • 数据补差:
    1. 我们可以采用平均数、中位数、众数进行补差
    2. 使用固定值
    3. 最近邻补差(使用最相似的数据)
    4. 回归方法(预测)
    5. 插值法(利用已知点建立插值函数)

$$f(x)=\sum_{i=0}^{n}y_{i} \frac{(x-x_{0})\ldots(x-x_{n})}{(x_{i}-x_{0})\ldots(x_{i}-x_{n})}$$

  1. 异常值处理
    • 删除含有异常值的记录

      设置阈值,处理数据。

    • 视为缺失值
    • 平均值修正
    • 不处理

特征工程

去掉无用特征,去除冗余特征,利用存在的特征、转换特征、内容中的特征以及其他数据源生成的新特征,然后对特征进行转换,最后对特征进行处理,已符合模型的使用。

简单来说,特征工程的处理有以下的步骤:

  • 数据预处理
  • 特征处理
  • 特征选择

特征选择

  • 过滤法:按照发散性或者相关性对各个特征进行评分,通过阈值或者待选择阈的个数来选择特征

  • 包装法:根据目标函数(通常是预测效果评分)每次选择若干选项或者排除若干选项

  • 嵌入法:使用机器学习的某些算法和模型进行训练,得到各个特征的权值系数,并根据系数从大到小选择特征。


数据预处理
https://fabulous1496.github.io/2024/01/29/数据预处理/
作者
Fabulous
发布于
2024年1月29日
许可协议