数据预处理
掌握机器学习的数据预处理。学习清理、缩放和编码等技术,以提高模型的准确性和性能。
数据预处理是机器学习(ML)流程中的关键步骤,包括清理、转换和组织原始数据,使其适合训练和构建模型。现实世界中的原始数据往往不完整、不一致,还可能包含错误。预处理可将这些杂乱无章的数据转换成干净、结构良好的格式,这对模型的有效学习至关重要。模型预测的质量在很大程度上取决于其训练数据的质量,因此数据预处理是人工智能系统实现高精度和可靠性能的基础实践。
数据预处理的关键任务
数据预处理是一个宽泛的术语,包括各种准备数据的技术。具体步骤取决于数据集和 ML 任务,但常见任务包括
- 数据清理:这是一个识别并纠正或删除数据集中的错误、不一致和缺失值的过程。这可能涉及使用统计方法填补缺失数据或删除重复条目。干净的数据是任何可靠模型的基石。
- 数据转换:这涉及改变数据的规模或分布。一种常见的技术是 归一化,它将数字特征缩放至一个标准范围(如 0 到 1),以防止较大缩放的特征在学习过程中占主导地位。你可以从scikit-learn 预处理文档中了解更多有关各种缩放方法的信息。
- 特征工程:这是从现有特征中创造新特征以提高模型性能的创造性过程。这可能涉及组合特征、分解特征或利用领域知识提取更有意义的信息。一个相关的概念是 特征提取自动降低数据维度。
- 编码分类数据:许多 ML 算法都需要数字输入。预处理通常涉及通过单次编码等技术将分类数据(如文本标签)转换为数字格式。
- 调整大小和增强:在计算机视觉(CV)中,预处理包括将图像调整到统一尺寸。之后还可以进行 数据扩增即通过创建修改过的图像来人为扩展数据集。
真实世界的人工智能/移动语言应用
数据预处理是所有人工智能领域的普遍要求。它的应用对于简单和复杂任务的成功都至关重要。
- 医学图像分析:在训练YOLO模型从脑肿瘤数据集等数据集中检测核磁共振扫描中的肿瘤之前,必须对图像进行预处理。这包括对像素强度值进行归一化处理,以考虑到扫描设备的差异,将所有图像的大小调整到模型骨干所需的一致输入尺寸,以及清理数据集以去除损坏的文件或错误标记的示例。这能确保卷积神经网络 (CNN)学习到模型的真实病理特征,而不是成像中的变化。您可以在我们关于使用 YOLO 进行肿瘤检测的博客中了解更多相关信息。
- 人工智能助力零售业预测:对于预测零售业客户需求的模型而言,原始销售数据往往包含缺失的交易记录、不一致的产品命名以及尺度大相径庭的特征(如 "商品价格 "与 "售出商品数量")。这里的预处理包括对缺失的销售数字进行归类、对产品名称进行标准化处理以及对数字特征进行归一化处理,从而使预测建模算法能够有效地权衡每个因素的重要性。业务预处理概述重点介绍了这些步骤。
数据预处理与相关概念
将数据预处理与其他相关数据管理术语区分开来很有帮助。
- 数据清理:如前所述,数据清理是数据预处理的一个子集。预处理是为模型准备数据的整个过程,而数据清理则具体侧重于修正错误、处理缺失值和消除原始数据集中的不一致之处。
- 数据扩增:数据扩增是一种用于人为增加训练数据大小的技术。虽然它是为训练准备数据的一部分,但通常是在原始数据集已完成清理和调整大小等初始预处理步骤后才使用。增强的目的是提高模型的泛化能力,而预处理的目的是使原始数据可用。
- 数据分析:数据分析是一个范围更广的领域,涉及检查数据集以得出结论并支持决策。数据预处理是数据分析工作流程的第一步,其中还包括探索性数据分析(EDA)、建模和数据可视化。
Ultralytics HUB等平台可帮助管理数据集,并简化从准备数据到部署模型的 ML 生命周期。注释数据预处理指南提供了更多实用见解。