Chap4

资料预处理:建立优质的训练数据集

资料的质量及其所包含的有用信息量是决定机器学习算法学习效果的关键因素。因此,在将资料餵给机器学习演算法之前,检查和预处理数据集是至关重要的。

在这章,我们将讨论几种常见的资料预处理技术,这些技术有助于我们构建良好的机器学习模型:

  • 移除和补全资料集中的遗漏值
  • 将类别型数据转换成机器学习算法可接受的形式
  • 选择构建模型的相关特徵

处理遗漏值

在实际应用中,我们经常遇到某些训练示例缺失一个或多个值的情况,原因可能有很多。例如,资料收集过程中的错误、某些测量结果不适用,或者在调查中某些栏位可能被遗漏。这些遗漏值通常表现为资料表中的空白或佔位符(例如NaN或NULL),这些数值对许多计算工具是无法处理的,或者会导致不可预期的结果。因此,在进行分析之前,处理这些遗漏值是必须的。

常见的遗漏值处理方法:

  • 删除有遗漏值的样本或特徵:直接移除包含遗漏值的资料行或列,这是一种简单的策略,但可能会导致信息损失,特别是在资料集中遗漏值的比例较大时。
  • 补全遗漏值:使用资料集中其他数据推测遗漏值的替代值。这可以是填充平均值、中位数或最频繁的值,甚至可以基于更为复杂的回归模型或 kNN 方法进行预测。
  • 类别型数据的处理

    机器学习演算法通常要求输入的资料为数值型,因此,对于类别型资料(例如颜色、国家等)必须进行编码。常见的方法包括:

  • 类别标籤编码:将类别型特徵转换为整数标籤。例如,将「红色」、「蓝色」、「绿色」分别编码为0、1、2。这种方法适用于有序的类别。
  • 独热编码(One-Hot Encoding):对无序的类别型特徵进行编码,每个类别生成一个二元向量。例如,对「红色」、「蓝色」和「绿色」进行编码后,它们可能会表示为[1, 0, 0]、[0, 1, 0]、[0, 0, 1]。
  • 特徵选择

    在构建机器学习模型时,并非所有特徵对模型的构建都是有用的。冗余特徵可能会降低模型的效能,因此,我们需要挑选出与目标变数最相关的特徵。这些方法包括:

  • 正则化方法(L1/L2):通过给模型添加惩罚项来减少不必要的特徵,L1正则化会使得某些特徵的权重变为零,从而起到特徵选择的作用。
  • 随机森林特徵重要性评估:通过训练随机森林模型,并根据树的分裂过程来评估每个特徵的重要性,选出对预测结果最有影响的特徵。
  • 延伸说明

    当资料集经过良好的预处理后,机器学习算法可以更高效地从中学习并进行预测。以下是一些进一步的延伸讨论:

  • 资料清洗的重要性:资料清洗是资料预处理中最基础但最重要的一步。实际数据集通常会包含噪音、错误数据、遗漏值等,这些问题若不解决,会严重影响模型的效能。

  • 特徵工程与特徵选择的平衡:特徵工程能够让模型获取更多的有用信息,但同时可能会引入不必要的特徵。因此,找到合适的特徵选择策略,去除冗余特徵,才能够提高模型的表现。

  • 资料缩放与正规化:不同的机器学习演算法对于特徵的尺度非常敏感,像是支援向量机(SVM)和k近邻(KNN)这样的模型,需要对特徵进行缩放到相同的尺度范围内(如0到1)才能保证模型的稳定性与準确度。

  • 这些预处理技术和深入讨论,能够帮助你更好地理解如何为机器学习模型构建良好的训练数据集,从而提升模型的準确性和效率。