机器学习已成为各种规模的组织获得洞察力和做出数据驱动决策的重要工具。但是,ML项目的成功在很大程度上取决于用于训练模型的数据质量。数据质量差会导致预测不准确和模型性能差。了解数据质量在ML中的重要性以及用于确保高质量数据的各种技术至关重要。
简而言之,数据是驱动机器学习的燃料,高质量数据的可用性对于创建准确可靠的模型至关重要。机器学习中使用了许多数据类型,包括分类数据、数值数据、时间序列数据和文本数据。
如何确保数据质量呢?
一般会通过收集数据、数据注入、数据预处理和特征工作这4个步骤。具体为:
收集数据
机器学习的数据准备通常称为用于提取、转换和加载的ETL管道。
提取:从各种来源提取数据。它可以包括从数据库、API或CSV或Excel等普通文件中提取数据。数据可以是结构化的或非结构化的。
转换:这是转换数据以使其适用于机器学习模型的过程。这可能包括清理数据以消除错误或不一致、标准化数据以及将数据转换为模型可以使用的格式。此步骤还包括特征工程,将原始数据转换为一组特征以用作模型的输入。
加载:最后一步是将转换后的数据上传或加载到目的地。它可以是数据库、数据存储或文件系统。生成的数据可供进一步使用,例如训练或测试机器学习模型。
收集完数据后,就需要注入数据。
数据注入
出于各种原因向现有数据服务器添加新数据,以使用新数据更新数据库并添加更多不同的数据以提高机器学习模型的性能。这通常是通过一些方便的工具自动化完成的。
如:
批量插入:批量插入数据,通常是在固定的时间。
实时注入:数据产生后立即注入。
流注入:数据以连续流的形式注入。它经常实时使用。
数据管道的第三阶段是数据预处理。
数据预处理
数据处理正在准备用于机器学习模型的数据,这是机器学习中的一个重要步骤,因为它确保数据采用模型可以使用的格式,并且任何错误或不一致都得到解决。
数据处理通常涉及数据清洗、数据转换和数据标准化的组合。数据处理的具体步骤取决于数据类型和您使用的机器学习模型。
数据处理的通用流程:
通用步骤:
1.数据清理:从数据库中删除错误、不一致和异常值。
2.数据转换:数据转换为机器学习模型可以使用的形式,例如将分类变量转换为数值变量。
3.数据规范化:在0到1之间的特定范围内缩放数据,这有助于提高某些机器学习模型的性能。
4.添加数据:向现有数据点添加更改或操作以创建新数据点。
5.特征选择或提取:从数据中识别并选择基本特征以用作机器学习模型的输入。
6.离群值检测:识别并删除与大量数据明显偏离的数据点。离群值会改变分析结果并对机器学习模型的性能产生不利影响。
7.检测重复项:识别并删除重复的数据点。重复数据会导致不准确或不可靠的结果,并增加数据集的大小,使其难以处理和分析。
8.识别趋势:在您的数据中查找模式和趋势,您可以使用这些模式和趋势为未来的预测提供信息或更好地了解数据的性质。
数据处理在机器学习中是必不可少的,因为它确保数据采用模型可以使用的形式,并消除任何错误或不一致。这提高了模型的性能和预测的准确性。
数据管道的最后阶段是特征工程。
特征工程
特征工程将原始数据转换为可用作机器学习模型输入的特征。这涉及从原材料中识别和提取最关键的数据,并将其转换为模型可以使用的格式。特征工程在机器学习中必不可少,因为它可以显着影响模型性能。
特征工程涉及到:
特征提取:从原始数据中提取相关信息。例如,确定最重要的特征或组合现有特征以创建新特征。
属性修改:更改属性类型,例如将分类变量更改为数值变量或缩放数据以适合特定范围。
特征选择:确定数据的基本特征以用作机器学习模型的输入。
降维:通过删除冗余或不相关的特征来减少数据库中的特征数量。
添加数据:向现有数据点添加更改或操作以创建新数据点。
特征工程需要很好地理解数据、要解决的问题以及要使用的机器学习算法。此过程是迭代和实验性的,可能需要多次迭代才能找到可提高模型性能的最佳特征集。