数据预处理概述

戴冠英

Python|2023-10-29|最后更新: 2023-10-29|
😀
数据预处理是数据挖掘和机器学习中最为关键的步骤之一。高质量的数据是模型良好表现的关键,而数据预处理正是确保这一点的途径。以下是针对五个关键部分的文稿:

一、概述

notion image

二、具体的处理方法

1. 空缺值处理
  • 意义
    • 数据中的空缺值(或缺失值)可能导致分析的偏差,使得模型不稳定,降低预测准确性。
    • 不同的模型对空缺值的容忍度不同。某些模型可能完全无法处理空缺值。
  • 解决方式
    • 删除:直接删除含有空缺值的记录。
    • 填充
      • 使用平均值、中位数或众数。
      • 使用前值或者后值填充。
      • 使用0值填充。
      • 使用模型预测,如KNN(本次不讲)。
    • 不处理:某些模型,如决策树,可以直接处理空缺值(本次不讲)。

2. 重复值处理
  • 意义
    • 重复记录可能导致数据偏斜,影响模型的学习效果。
    • 会导致数据集不真实,增加了不必要的存储成本。
  • 解决方式
    • 使用工具或编程语言(如Python的pandas库)来查找并删除重复记录。

3. 异常值处理
  • 意义
    • 异常值可能是由于数据输入错误、仪器错误或其他非正常情况造成的。
    • 这些值可能会极大地影响模型的预测能力,尤其是对于线性模型等对异常值敏感的模型。
  • 解决方式
    • 识别:使用统计方法(如Z-Score)或可视化工具来识别异常值。
    • 处理
      • 删除这些值。
      • 使用数据转换来减少其影响,如对数转换。
      • 如果异常值是真实的且有意义,那么可以考虑保留它们。

4. 数据标准化
  • 意义
    • 不同的特征可能有不同的尺度或单位,这可能会影响到某些模型的性能,如梯度下降、KNN等。
    • 标准化确保所有特征都在同一尺度上,有助于模型的收敛和提高性能。
  • 解决方式
    • Min-Max标准化:将数据转换到0-1范围。
    • Z-Score标准化:将数据转换为均值为0,标准差为1的分布。
    • L1 & L2归一化(本次不讲)。

5. 绘图
  • 意义
    • 可视化是探索数据、识别模式和异常值的强大工具。
    • 可以帮助我们更好地理解数据的分布和关系。
  • 解决方式
    • 使用各种图形工具,如柱状图、箱线图、散点图等,来直观地展示数据。
    • 使用编程语言,如Python中的matplotlib和seaborn库,为数据创建可视化效果。

三、进阶学习建议:Python数据处理与可视化库

  • numpy:
    • 简介:NumPy是Python的一个基础数学库,专注于数值计算、矩阵运算和统计功能。
    • 为什么学:如果你希望深入了解数据处理、线性代数或进行任何高级数学操作,NumPy是不可或缺的工具。
    • 使用场景:向量化操作、矩阵计算、统计分析。
  • pandas:
    • 简介:Pandas是Python中的数据处理神器,提供了大量易于使用的数据结构和数据分析工具。
    • 为什么学:对于任何涉及到数据清洗、探索、转换和分析的任务,Pandas都是首选。
    • 使用场景:数据读取、数据清洗、数据分析、数据转换。
  • matplotlib:
    • 简介:Matplotlib是Python中最受欢迎的2D绘图库,提供了丰富的图表和可视化功能。
    • 为什么学:当你希望将数据转化为直观的图形或图表,以便更好地理解和解释,Matplotlib是个好选择。
    • 使用场景:绘制折线图、柱状图、散点图、直方图等。
  • pyecharts:
    • 简介:Pyecharts是一个为Echarts提供的Python接口,允许我们用Python方便地生成Echarts的交互式图表。
    • 为什么学:对于想要创建交互式、吸引人的可视化效果,特别是在Web应用中,Pyecharts是一个强大的工具。
    • 使用场景:交互式数据可视化、Web应用中的图表展示。